【问题标题】:Containable behaviour cakephp with HABTM带有 HABTM 的可包含行为 cakephp
【发布时间】:2014-07-05 10:38:37
【问题描述】:

我正在尝试使用 cakephp 的可包含行为来获取数据。

我的模型如何关联:

 A => HABTM <= B
 B => HABTM < C

我需要什么作为结果数组结构:

array(
        [A] => array(),
        [B] => array(
            [C] => array()
        )
 )

我已经达到了获取数组:

 array(
        [A] => array(),
        [B] => array()
 )

我已经尝试了所需的数组结果,但没有得到解决方案。

我正在尝试什么查询:

 $this->A->Behaviors->load('Containable');
    $contain = array('contain'=>array(
                'B' => array(
                    'C'
                )
          )
    );

While trying the query , i am getting output as follows:

array(
        [A] => array(),
        [B] => array(
            [C] => array()
        )
 )

但模型“C”数据为空

有人知道怎么做吗?

【问题讨论】:

    标签: cakephp cakephp-2.0 cakephp-2.3


    【解决方案1】:

    你从来没有定义你的表是如何相互连接的,至少 C => B。

    例如

    $this->A->Behaviors->load('Containable');
    $contain = array('contain'=>array(
                'B' => array(
                    'C' => array(
                        'conditions' => array('B.name' => 'C.name'),
                    )
                )
          )
    );
    

    这将检索 A、B 和 C 表,其中 B.name == C.name。

    请看一下here

    【讨论】:

    • 但是B和C模型没有共同的列。它们与 HABTM 相关。
    猜你喜欢
    • 1970-01-01
    • 2012-11-29
    • 2012-10-31
    • 2015-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 2012-10-23
    相关资源
    最近更新 更多