我的模型1有很多模型2,我需要在模型2上做条件语句,换句话说:
$result = $this->Model1->find("all",array("conditions" => array("Model2"."field" => $outsideValue)));
然而,我得到了一个未知的列 Model2.field,它看起来是由于 Model1 不包括 Model2 作为连接。我如何做 cakePHP 与 hasMany 的连接?
尝试:
$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 元素,只有关联的模型 2 验证条件。
试试这个:
$this->Model1->bindModel(array(
'hasMany' => array(
'Model2' => array('conditions'=>array('Model2.field'=>$outsidevalue))
)));
$data = $this->Model1->find('all');