質問: $this->Followers->find() ->where(['followid'=>$this->Auth->user('id')]) ->contain(['FollowedUsers','FollowedUsers.Articles']) (ここから先の条件設定ができない) 下記の条件を加えてみましたが、エラーとなる ->order(["FollowedUsers.Articles.created" => 'DESC' ]);(最新の記事を一番目に持ってくる。) $this->set('followers',$this->paginate($query)); ``` フォローしているユーザーの情報とそのユーザーの最新記事のみを取得して、表示させたいのですが、 良い方法をご教授頂きたくよろしくお願いします。
回答: stackoverflowに類似の質問があり、詳しい解説が載っていましたので参考にしてください。 How to limit contained associations per record/group? ※ユーザとhasOneの関係で、そのユーザの最新記事(LatestArticles)というアソシエーションを定義してあげれば、できるのではないかと(ただ、FollowedUsers.LatestArticlesとネストが深いのでうまくいかなかったらすみません...)