获取CakePHP中相关模型的线程结果

时间:2011-05-04 07:05:18

标签: cakephp associations

我有两个数据库表连接如下:

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()
            )
        )
    )
)

1 个答案:

答案 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'])));
    }

如果某人有更好的方法这样做,我真的很感激任何其他想法!