cakePHP从hasMany关联版本2.1获取数据

时间:2012-09-03 19:31:20

标签: cakephp join model

我的model1有很多model2,我需要在model2上做条件声明,换句话说:

 $result = $this->Model1->find("all",array("conditions" => array("Model2"."field" => $outsideValue)));

然而,我得到一个未知的列Model2.field,因为Model1不包括Model2作为连接。我怎么做cakePHP加入hasMany?

3 个答案:

答案 0 :(得分:2)

您可以使用ad-hoc joinslinkable behavior来获取联接。

答案 1 :(得分:0)

尝试:

  

$ result = $ this-> Model1-> find('all',array('recursive'=> 1,“conditions”)   => array(“Model2”。“field”=> $ outsideValue)));

或:

  

$ result = $ this-> Model1-> find('all',array(“contains”)   => array(“Model2”=> array('conditions'=> array(“field”=> $ outsideValue))));

第一个将为您提供所有模型1元素,这些元素链接到模型2验证条件。

第二个将是所有模型1元素,只有关联的Model2验证条件。

答案 2 :(得分:0)

试试这个:

$this->Model1->bindModel(array(
    'hasMany' => array(
        'Model2' => array('conditions'=>array('Model2.field'=>$outsidevalue))
)));
$data = $this->Model1->find('all');