0

私のmodel1には多くのmodel2があります。つまり、model2で条件ステートメントを実行する必要があります。

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

ただし、Model1にModel2が結合として含まれていないため、不明な列Model2.fieldが表示されます。どうすればcakePHPはhasManyと結合しますか?

4

3 に答える 3

2

アドホック結合またはリンク可能な動作を使用して、結合を取得できます。

于 2012-09-03T19:43:41.233 に答える
0

これを試して:

$this->Model1->bindModel(array(
    'hasMany' => array(
        'Model2' => array('conditions'=>array('Model2.field'=>$outsidevalue))
)));
$data = $this->Model1->find('all');
于 2012-09-04T04:49:51.207 に答える
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)))) ;

最初のものは、条件を検証するモデル 2 にリンクされているすべてのモデル 1 要素を提供します。

2 つ目は、関連する Model2 のみが条件を検証して、すべての Model 1 要素を表示します。

于 2012-09-03T19:38:07.213 に答える