我的model1有很多model2,我需要在model2上做条件声明,换句话说:
$result = $this->Model1->find("all",array("conditions" => array("Model2"."field" => $outsideValue)));
然而,我得到一个未知的列Model2.field,因为Model1不包括Model2作为连接。我怎么做cakePHP加入hasMany?
答案 0 :(得分:2)
您可以使用ad-hoc joins或linkable 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');