モデルクエリ関数をコントローラに呼び出す方法を解決できません。私はカウントするためにあまりにも多くのドキュメントを見てきました。たぶん私は私が全力でやろうとしていることに間違っていますか? MySQLエラーを引き続き取得する(以下のエラー)。コントローラのモデルクエリ関数::コントローラでページングを呼び出すにはどうすればよいですか?
プラン::モデル:
function getActive()
{
$findParameters = array(
'limit' => 10,
'order' => array('Plan.monthly_cost' => 'asc'),
'conditions' => array('PlanDetail.active' => 1)
);
return $this->find('all', $findParameters);
}
プラン::コントローラー:
function search() {
$this->Plan->recursive = 2; //*** Modified by Jason: Recursion needs to be corrected with better method. ***//
$active = $this->Plan->getActive();
$this->set('plans', $this->paginate($active));
}
お知らせ(8):配列文字列変換[ROOT .... 警告します( 512):SQLエラー:1054: 'where句'の 'Plan'が不明な列
これで、正しい結果が得られるようになりました。$ active = $ this-> Plan-> getActive(); \t \t $ this-> set( 'plans'、$ active);しかし今は私のページネーション(CSSなど)を失ってしまった。 – OldWest
サイドノートとして、これはコントローラ内ですべて行うことができる(ドキュメンテーションごと)、しかし私はモデルの仕事(私のMVCを理解している)が少なくともコントローラにANYクエリを入れる良い理由は見当たりません。 – OldWest
私はあなたに同意します。私はあなたの検索ロジックをモデルに入れるべきだと言うチュートリアルのチュートリアルを見たことがありますが、ページネーションヘルパーはあなたにはそれを強制しません。私はまだ本当に良い答えを見てきました。 –