CakePHPの「$this->set()」の2つの引数にはそれぞれ配列を渡すことができる
CakePHP 1.2.1.8004を使用中。
今頃知ったんですが、$this->set()の2つの引数にarray()を渡せるんですね。
これは別に1.2からできるようになったとかじゃなく、1.1のころから既にできるようになってたものみたい。
例えば、
<?php //コントローラ $params = array( 'conditions' => array('Group.id' => $this->params['group_id']), 'recursive' => -1); $group = $this->Group->find('first', $params); $params = array( 'conditions' => array('User.name' => $this->params['name']), 'recursive' => -1); $user = $this->Group->User->find('first', $params); $this->set(array('group', 'user'), array($group['Group'], $user['User']));
<?php //ビュー debug($group['id']);
みたいな。
今まで「$this->set('data', compact('group', 'user');」ってやってたけど、こっちの方がビューの中がすっきりして良いかも。
追記 (2009/03/07 22:03:40)
やっぱり普通に「$group = array_shift($this->Group->find('first', $params));」ってやった方が良いか。