我有两个数据库表连接如下:
ProjectProduct hasMany Bde
Bde belongsTo ParentBde / Bde hasMany ChildBde
第一个关联是新的,现在应该添加到应用程序中。从那时起,我使用$this->Bde->find('threaded')
来获取这些记录的线程数组。
现在我需要/想要查询ProjectProduct表并希望使用可包含行为来获取所有相关的Bdes。
现在我想知道:通过调用ProjectProduct
上的find,仍然可以(以Cake方式)获得线程化结果吗?
我尝试了$this->ProjectProduct->find('threaded', array('contain' => 'Bde'))
,但这会尝试在ProjectProduct
上获得线索结果。
我期待像这样的数组:
Array (
[ProjectProduct] => Array (
[id] => 17,
[Bde] => Array (
[0] => Array (
[id] => 1,
[project_product_id] => 17,
[children] => Array()
)
)
)
)
答案 0 :(得分:0)
由于我无法找到任何信息如何通过一个电话或“Cakish”方式完成,我已经这样做了:
$project_products = $this->Project->ProjectProduct->find('all');
foreach ($project_products as $key => $project_product) {
$project_products[$key]['Bde'] = $this->Project->Bde->find('threaded', array('conditions' => array('Bde.project_product_id' => $project_product['ProjectProduct']['id'])));
}
如果某人有更好的方法这样做,我真的很感激任何其他想法!