現在、Cakephp3でブログサイトを構築しています。その際にユーザーが自分のフォローしているユーザーの情報(名前等)と
そのユーザーの最新の投稿の情報のみを取得して、表示したいと考えています。その為、下記のような形で
findでデータを取得しようと考えています。
環境:
php:7.1.1
Apache/2.4.25 (Win32)
cakephp:3.2.11
MySQL:10.1.21-MariaDB
テーブル:
Followers:フォローしているユーザーのID等を管理
FollowedUsers :フォローされているユーザーのテーブル名
(本来のテーブル名はUsersですが、containする際にはフォローするユーザーとフォローされるユーザーとで両方がUsersを参照してしまうのでFollowersでcontainする際のみ名前を区別させています。)
Articles :記事情報
$query = $this->Followers->find() ->where(['followid'=>$this->Auth->user('id')]) ->contain(['FollowedUsers','FollowedUsers.Articles']) (ここから先の条件設定ができない) 下記の条件を加えてみましたが、エラーとなる ->order(["FollowedUsers.Articles.created" => 'DESC' ]);(最新の記事を一番目に持ってくる。) $this->set('followers',$this->paginate($query));
フォローしているユーザーの情報とそのユーザーの最新記事のみを取得して、表示させたいのですが、
良い方法をご教授頂きたくよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/17 00:14
2017/04/17 01:05
2017/04/17 06:04