【问题标题】:Get threaded results for associated model in CakePHP在 CakePHP 中获取关联模型的线程结果
【发布时间】:2011-05-04 07:05:17
【问题描述】:

我有 2 个数据库表,它们的连接方式如下:

ProjectProduct hasMany Bde
Bde belongsTo ParentBde / Bde hasMany ChildBde

第一个关联是新的,现在应该添加到应用程序中。从那时起,我使用$this->Bde->find('threaded') 来获取这些记录的线程数组。

现在我需要/想要查询 ProjectProduct 表并想要使用可包含行为来获取所有关联的 Bdes。

现在我想知道:在ProjectProduct 上调用 find 是否仍有可能(以蛋糕的方式)获得线程结果? 我尝试做$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()
            )
        )
    )
)

【问题讨论】:

    标签: cakephp associations


    【解决方案1】:

    由于我找不到任何信息如何通过一次通话或“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'])));
        }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-19
      • 2013-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多