以下はcakephpのドキュメントが動作しない行です。フェッチ戦略CakePHP 3関連の制限が機能しません
を変更
あなたはすでに知っているかもしれませんが、belongsToのとhasOneのアソシエーションがメインファインダクエリでJOINを使用してロードされます。これにより、クエリとフェッチ速度が改善され、データを取得するときに表現力豊かな条件を作成できるようになりますが、order()やlimit()などの関連付けのファインダクエリに特定の句を適用する場合には問題になる可能性があります。あなたは協会として記事の最初のコメントを取得したい場合例えば
、:
$articles->hasOne('FirstComment', [
'className' => 'Comments',
'foreignKey' => 'article_id'
]);
、我々が使用するクエリを指示する必要があります正しく、この関連付けからデータをフェッチするためには、 CakePHPはstがすることhasOne
ノートで作業する場合
$query = $articles->find()->contain([
'FirstComment' => [
'strategy' => 'select',
'queryBuilder' => function ($q) {
return $q->order(['FirstComment.created' =>'ASC'])->limit(1);
}
]
]);
おかげ
"_doesn't work_"は適切な問題の説明ではありません!問題がCakePHPの内部を知っている人にとって明白であっても、_exactly_が何を起しているのか、そして_確実に_何が起こるのかについて常にできるだけ具体的にしてください。 Cookbookの例をダンプするだけではなく、_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ – ndm
私の場合、1つの記事について多くのコメントがあります。今は各記事の最新のコメントを取得する方法を知る必要があります。 – Pankaj
これはあなたの質問で詳しく説明します。 ** https://stackoverflow.com/questions/30241975/how-to-limit-contained-associations-per-record-group** – ndm