そのため、queryPHP が提供する afterFind 関数をセットアップして、クエリから結果が返されるかどうかを判断しようとしています。
デバッグ出力をテストすると、これは私が受け取ったものです:
Warning (2): Invalid argument supplied for foreach() [APP/Model/Form.php, line 70]
app/Model/Form.php (line 71)
'0'
この動作は非常に奇妙に思えます。これは、foreach ループで無効な引数が提供されていることを示していますが、同時に、データベース上のクエリの正しいカウントが 0 であると判断できるためです。
これは、私の Form.php モデルにある以下の関数です。
public function afterFind($results, $primary = true){
foreach ($results as $key => $val) {
debug($val[0]['count']);
}
}
コントローラーで結果をページ分割しようとしているため、この方法で実行しようとしていますが、結果のカウントが 0 の場合は $this->Session->Setflash(); を実行します。
私が知る限り、$this->Form->Find()
関数は結果の合計数を計算できます。
カウント機能は動作しません$this->paginate('Form)
ex. $this->paginate('count', 'Form');]
これを行う別の方法はありますか?