我在我的 CakePHP 应用程序中使用 $this->find('threaded') 并试图在 find (HABTM) 中拉入关联模型。我尝试了几种方法,例如“joins”、“recursive”和“contains”,但都没有成功。我正在使用 CakePHP 2.3.6
这是我的(工作)代码。
类 EventsController 扩展 AppController {
公共功能发起人($id = null){
$options = array('conditions' => array('Event.id' => $id));
$event = $this->Event->find('first', $options);
$this->set('event', $event);
$this->loadModel('EventsPromoter');
$treelistConditions = 数组(
'条件' => 数组(
'event_id' => $id
),
);
$promoterTree = $this->EventsPromoter->find('thread', $treelistConditions);
$this->set('promoters', $promoterTree);
}
}
这导致以下数组输出
大批
(
[0] => 数组
(
[EventsPromoter] => 数组
(
[id] => 1
[promoter_id] => 1
[event_id] => 1
[parent_id] =>
[创建] => 2013-07-26 00:30:09
[修改] => 2013-07-26 00:30:09
)
[孩子] => 数组
(
[0] => 数组
(
[EventsPromoter] => 数组
(
[id] => 10
[promoter_id] => 4
[event_id] => 1
[parent_id] => 1
[创建] => 0000-00-00 00:00:00
[修改] => 0000-00-00 00:00:00
)
[孩子] => 数组
(
)
)
[1] => 数组
(
[EventsPromoter] => 数组
(
[id] => 13
[promoter_id] => 6
[event_id] => 1
[parent_id] => 1
[创建] => 0000-00-00 00:00:00
[修改] => 0000-00-00 00:00:00
)
[孩子] => 数组
(
)
)
)
)
[1] => 数组
(
[EventsPromoter] => 数组
(
[id] => 2
[promoter_id] => 2
[event_id] => 1
[parent_id] =>
[创建] => 2013-07-26 00:30:09
[修改] => 2013-07-26 00:30:09
)
[孩子] => 数组
(
[0] => 数组
(
[EventsPromoter] => 数组
(
[id] => 11
[promoter_id] => 5
[event_id] => 1
[parent_id] => 2
[创建] => 0000-00-00 00:00:00
[修改] => 0000-00-00 00:00:00
)
[孩子] => 数组
(
[0] => 数组
(
[EventsPromoter] => 数组
(
[id] => 6
[promoter_id] => 3
[event_id] => 1
[parent_id] => 11
[创建] => 0000-00-00 00:00:00
[修改] => 0000-00-00 00:00:00
)
[孩子] => 数组
(
)
)
)
)
[1] => 数组
(
[EventsPromoter] => 数组
(
[id] => 14
[promoter_id] => 7
[event_id] => 1
[parent_id] => 2
[创建] => 2013-07-26 00:30:09
[修改] => 2013-07-26 00:30:09
)
[孩子] => 数组
(
)
)
)
)
)
我希望我的代码输出如下
大批
(
[0] => 数组
(
[EventsPromoter] => 数组
(
[id] => 1
[promoter_id] => 1
[event_id] => 1
[parent_id] =>
[创建] => 2013-07-26 00:30:09
[修改] => 2013-07-26 00:30:09
)
[发起人] => 数组
(
[promoter_id] => 1
[first_name] => '鲍勃'
[姓氏] => '史密斯'
)
[孩子] => 数组
(
[0] => 数组
(
[EventsPromoter] => 数组
(
[id] => 10
[promoter_id] => 4
[event_id] => 1
[parent_id] => 1
[创建] => 0000-00-00 00:00:00
[修改] => 0000-00-00 00:00:00
)
[发起人] => 数组
(
[promoter_id] => 4
[first_name] => '莎莉'
[姓氏] => '苏'
)
[孩子] => 数组
(
)
)
[1] => 数组
(
[EventsPromoter] => 数组
(
[id] => 13
[promoter_id] => 6
[event_id] => 1
[parent_id] => 1
[创建] => 0000-00-00 00:00:00
[修改] => 0000-00-00 00:00:00
)
[发起人] => 数组
(
[promoter_id] => 6
[first_name] => '本'
[姓氏] => '国王'
)
[孩子] => 数组
(
)
)
)
)
[1] => 数组
(
[EventsPromoter] => 数组
(
[id] => 2
[promoter_id] => 2
[event_id] => 1
[parent_id] =>
[创建] => 2013-07-26 00:30:09
[修改] => 2013-07-26 00:30:09
)
[发起人] => 数组
(
[promoter_id] => 2
[first_name] => '杰克'
[姓氏] => '麻雀'
)
[孩子] => 数组
(
[0] => 数组
(
[EventsPromoter] => 数组
(
[id] => 11
[promoter_id] => 5
[event_id] => 1
[parent_id] => 2
[创建] => 0000-00-00 00:00:00
[修改] => 0000-00-00 00:00:00
)
[发起人] => 数组
(
[promoter_id] => 5
[first_name] => '简'
[姓氏] => 'Doe'
)
[孩子] => 数组
(
[0] => 数组
(
[EventsPromoter] => 数组
(
[id] => 6
[promoter_id] => 3
[event_id] => 1
[parent_id] => 11
[创建] => 0000-00-00 00:00:00
[修改] => 0000-00-00 00:00:00
)
[发起人] => 数组
(
[promoter_id] => 3
[first_name] => '迈克'
[姓氏] => '琼斯'
)
[孩子] => 数组
(
)
)
)
)
[1] => 数组
(
[EventsPromoter] => 数组
(
[id] => 14
[promoter_id] => 7
[event_id] => 1
[parent_id] => 2
[创建] => 2013-07-26 00:30:09
[修改] => 2013-07-26 00:30:09
)
[发起人] => 数组
(
[promoter_id] => 7
[first_name] => '蜘蛛'
[姓氏] => '男人'
)
[孩子] => 数组
(
)
)
)
)
)
我一直在尝试的任何事情都不起作用,这似乎是 Cake 应该能够相当容易地处理的事情。提前感谢您的帮助!