CakePHP 线程"Find"与关联模型



我在我的CakePHP应用程序中使用$this->find(' threading '),并试图在查找(HABTM)中拉入相关模型。我已经尝试了几种方法,如"连接","递归"one_answers"包含"都没有运气。我使用CakePHP 2.3.6

这是我的(工作)代码。

类EventsController扩展AppController {公共函数启动器($id = null) {$options = array('条件' => array('事件')。Id ' => $ Id));$event = $this-> event ->find('first', $options);$ this ->设置("事件",事件美元);$ this -> loadModel("EventsPromoter");$treelistConditions = array('conditions' => array('event_id' => $id),);$promoterTree = $this->EventsPromoter->find('thread ', $treelistConditions);$ this ->设置("促进者",promoterTree美元);}}

这将导致以下数组输出

<>之前的数组([0] =>数组([EventsPromoter] => Array([id] => 1[promoter_id] => 1[event_id] => 1[parent_id] =>[created] => 2013-07-26 00:30:09[修改]=> 2013-07-26 00:30:09)[children] =>数组([0] =>数组([EventsPromoter] => Array([id] => 10[promoter_id] => 4[event_id] => 1[parent_id] => 1[created] => 0000-00-00 00:00:00[修改]=> 0000-00-00 00:00:00)[children] =>数组())[1] =>数组([EventsPromoter] => Array([id] => 13[promoter_id] => 6[event_id] => 1[parent_id] => 1[created] => 0000-00-00 00:00:00[修改]=> 0000-00-00 00:00:00)[children] =>数组())))[1] =>数组([EventsPromoter] => Array([id] => 2[promoter_id] => 2[event_id] => 1[parent_id] =>[created] => 2013-07-26 00:30:09[修改]=> 2013-07-26 00:30:09)[children] =>数组([0] =>数组([EventsPromoter] => Array([id] => 11[promoter_id] => 5[event_id] => 1[parent_id] => 2[created] => 0000-00-00 00:00:00[修改]=> 0000-00-00 00:00:00)[children] =>数组([0] =>数组([EventsPromoter] => Array([id] => 6[promoter_id] => 3[event_id] => 1[parent_id] => 11[created] => 0000-00-00 00:00:00[修改]=> 0000-00-00 00:00:00)[children] =>数组())))[1] =>数组([EventsPromoter] => Array([id] => 14[promoter_id] => 7[event_id] => 1[parent_id] => 2[created] => 2013-07-26 00:30:09[修改]=> 2013-07-26 00:30:09)[children] =>数组()))))我希望我的代码输出如下

<>之前的数组([0] =>数组([EventsPromoter] => Array([id] => 1[promoter_id] => 1[event_id] => 1[parent_id] =>[created] => 2013-07-26 00:30:09[修改]=> 2013-07-26 00:30:09)[Promoter] => Array([promoter_id] => 1[first_name] => 'Bob'[last_name] => 'Smith')[children] =>数组([0] =>数组([EventsPromoter] => Array([id] => 10[promoter_id] => 4[event_id] => 1[parent_id] => 1[created] => 0000-00-00 00:00:00[修改]=> 0000-00-00 00:00:00)[Promoter] => Array([promoter_id] => 4[first_name] => 'Sally'[last_name] => 'Sue')[children] =>数组())[1] =>数组([EventsPromoter] => Array([id] => 13[promoter_id] => 6[event_id] => 1[parent_id] => 1[created] => 0000-00-00 00:00:00[修改]=> 0000-00-00 00:00:00)[Promoter] => Array([promoter_id] => 6[first_name] => 'Ben'[last_name] => 'King')[children] =>数组())))[1] =>数组([EventsPromoter] => Array([id] => 2[promoter_id] => 2[event_id] => 1[parent_id] =>[created] => 2013-07-26 00:30:09[修改]=> 2013-07-26 00:30:09)[Promoter] => Array([promoter_id] => 2[first_name] => 'Jack'[last_name] => '麻雀')[children] =>数组([0] =>数组([EventsPromoter] => Array([id] => 11[promoter_id] => 5[event_id] => 1[parent_id] => 2[created] => 0000-00-00 00:00:00[修改]=> 0000-00-00 00:00:00)[Promoter] => Array([promoter_id] => 5[first_name] => 'Jane'[last_name] => 'Doe')[children] =>数组([0] =>数组([EventsPromoter] => Array([id] => 6[promoter_id] => 3[event_id] => 1[parent_id] => 11[created] => 0000-00-00 00:00:00[修改]=> 0000-00-00 00:00:00)[Promoter] => Array([promoter_id] => 3[first_name] => 'Mike'[last_name] => 'Jones')[children] =>数组())))[1] =>数组([EventsPromoter] => Array([id] => 14[promoter_id] => 7[event_id] => 1[parent_id] => 2[created] => 2013-07-26 00:30:09[修改]=> 2013-07-26 00:30:09)[Promoter] => Array([promoter_id] => 7[first_name] => '蜘蛛'[last_name] => 'Man')[children] =>数组()))))没有我一直在尝试工作,这似乎是蛋糕应该能够相当容易地处理。提前感谢任何帮助!

对于我想要完成的事情,我采取了一种稍微错误的方法。虽然我仍然认为这应该是可能的,从我的EventsController类,我选择使它在EventsPromotersController HABTM类。使用

方法代码要简单得多
类EventsPromotersController扩展AppController {公共函数event($event_id = null) {$options = array('conditions' => array('event_id' => $event_id));$promoters = $this->EventsPromoter->find('thread ', $options);$ this ->设置("促进者",启动子美元);}}

最新更新