- 2007-08-02 (Thu) 18:37
- CakePHP関連
さてmixiの中の人が「これが一番重いんですよー」と昔言っていたような気がする「友達の日記一覧」を作ります。ちょっと悩んだ。UserとFriendが紐づいているからそこからPostまで見にいけるか、など試行錯誤しましたが、面倒になったので二段階で処理しました。
これって一段階で処理できるようなものなのかな?アソシエーションと$recursiveとか使えばひょっとしてできる?(>青い人)。
ではコード。
// friends' posts
$my_pals = array();
foreach ($this->Friend->findAll(array('Friend.user_id'=>$me['User']['id'],'Friend.status'=>1),'friend_user_id') as $pal) {
$my_pals[] = $pal['Friend']['friend_user_id'];
}
$this->set('posts', $this->Post->findAll(aa("Post.user_id", $my_pals),null,'Post.created DESC'));
$my_palsにまずは友達のIDを突っ込み、そのIDに該当する日記を引っ張ってきています。ついでに作成日順に並べ替えてみました。
できあがったのはこちら。

↑ 無事に友達の日記を引っ張ってこれました。数が多くなってきたときの処理作らなくちゃなー。
さて、こんなところですかね・・・次は何だろ。
友達の招待&承認系の処理か・・・これが鬼門。
※ CakePHP修業は百式管理人がSNSっぽいものをCakePHPで作ろうとして挫折するまでの日記です。前回までのあらすじはこちらへ。
- Newer: 今日の朝食チャレンジ
- Older: ヘルパーの使い方がわからなかったよ!(CakePHP修行 #41)
Posted on August 2nd, 2007
and last modified on August 4th, 2009.
Comments:0
Trackbacks:0
- Trackback URL for this entry
- http://www.ideaxidea.com/archives/2007/08/cakephp_42.html/trackback
- Listed below are links to weblogs that reference
- 友達の日記一覧を作る(CakePHP修行 #42) from IDEA*IDEA ~ 百式管理人のライフハックブログ


























