私はUrls
とDownloads
の2つのモデルを持つCakePHP 3アプリケーションを持っています。モデルは、URLが複数のダウンロードを持つように関連付けられています(Cakeの用語ではUrls hasMany Downloads
)。私はこのようなクエリを行うとCakePHP 3ではどのようにサブクエリを改ページしますか?
それはUrls
テーブルから1行を返すと、関連Downloads
の全てます:
// This is in a view() method
$query = $this->Urls->find()->contain(['Downloads' => ['sort' => ['Downloads.created' => 'DESC'] ] ])->where(['id' => $id]);
私はDownloads
のリストをページ分割したいが、どのようにを見ることができませんこれを行う。私はhttps://book.cakephp.org/3.0/en/controllers/components/pagination.htmlを見て撮影したが、私が試した私は見つけることができる唯一のことはした:
public function initialize()
{
parent::initialize();
$this->loadComponent('Paginator');
}
// In my view() method
$this->paginate = [
'contain' => ['Downloads']
];
$query = $this->Urls->find()->contain(['Downloads' => ['sort' => ['Downloads.created' => 'DESC'] ] ])->where(['id' => $id])->paginate();
しかし、あなただけの1を示しているので、それだけで 不明な方法を言ってエラーが
'paginate()'メソッドは、テーブルクラスのメソッドではありません。 – ndm