sql >> データベース >  >> RDS >> Mysql

Codeigniter Active Record-制限付きで見つかった行の総数をカウントする(MySQL)

    以前はまったく同じページネーションの要件があり、CodeIgniterActiveRecordを使用してそれを機能させることができました。

    まず、オプションSQL_CALC_FOUND_ROWSを設定します selectステートメントの疑似列としてエスケープクエリをfalseに設定します:

    $this->db->select('SQL_CALC_FOUND_ROWS null as rows, other columns ...',FALSE);
    

    次に、制限とオフセットを設定してクエリを実行した後、結果セットを戻り配列に割り当てます。

    $data = $this->db->get();
    $return['results'] = $data->result();
    // Do something with the results
    

    最後に、2番目のクエリを実行して、見つかった行を取得し、それを戻り配列に割り当てます。ここではメソッドチェーンを使用して、すべてを1つのステップで実行しています。

    $return['rows'] = $this->db->query('SELECT FOUND_ROWS() count;')->row()->count;
    

    そして、結果と行数の配列を返します。

    return $return;
    


    1. Hibernateスキームの命名はOS間で異なります

    2. SQL作成テーブルの構文エラー

    3. PostgreSQLで大規模な非ブロッキング更新を行うにはどうすればよいですか?

    4. Mysqlチェーン選択クエリ