【问题标题】:Get data from joined table in CakePHP从 CakePHP 中的连接表中获取数据
【发布时间】:2015-05-28 12:20:14
【问题描述】:

我需要从surveys_indicator_data 中获取数据(与该指标数据相关的所有保证ID),我不知道在CakePHP 中加入数据的正确方法我的代码不起作用,它返回一个空数组。

指标基准模型:

public $hasAndBelongsToMany = array(
        'Assurance' => array(
            'className' => 'Assurance',
            'joinTable' => 'assurances_indicator_data',
            'foreignKey' => 'indicator_datum_id',
            'associationForeignKey' => 'assurance_id',
            'unique' => true,
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'limit' => '',
            'offset' => '',
            'finderQuery' => '',
            'deleteQuery' => '',
            'insertQuery' => ''
        )
    );


function getIndicatorDataAssurance($indi_id){
             $assuranceData = $this->find('all',array(
                'joins' => array(
                     array('table' => 'assurances_indicator_data',
                           'type' => 'INNER',
                        'conditions' => array(
                    'AssurancesIndicatorData.indicator_datum_id' => $cun_indi)))));


            return $assuranceData;


             }


 }

【问题讨论】:

    标签: cakephp join cakephp-2.0 has-and-belongs-to-many


    【解决方案1】:

    在 CakePhp 中连接表的最简单方法是必须对每个表示数据库中的表的模型进行建模。 下面的示例,您可以将其修改为表和模型的名称:

    class ModelOne extends AppModel{
       public $belongTo = array('ModelTwo');
    
    }
    
    
    class ModelTwo extends AppModel{
        public $hasMany = array('ModelOne');
    
    }
    

    然后在您的控制器中,如果您查询这些模型中的任何一个,您的响应数组应该包含两个表中的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多