0

クエリに join を入れたいのですが、うまくいきません。 テーブルにが存在する場合はproductname、テーブルからを見つけたいです。productproduct_idproductplan

 Producttable     
 id name
  1   a
  2   b 

 productplantable
 id product_id
  1   1
  2   2

これは私のクエリです:

$p_products = $this->ProductPlan->find('all',   
                                       array('fields'=> 
                                         array('ProductPlan.product_id',
                                               'Product.name')
                                       )
                                    );
$this->set('p_products',$p_products);
4

1 に答える 1

0

ProductPlanモデルで関係が正しく設定されている場合は、次のように機能するはずです。そうでない場合は、ProductPlanモデルのソースコードを提供してください。

$this->ProductPlan->Behaviors->attach('Containable');

$p_products = $this->ProductPlan->find('all', array(
  'fields'  => array('product_id'),
  'contain' => array('Product' => array('fields' => array('name')))  
));
$this->set('p_products',$p_products);
于 2013-03-22T16:24:42.623 に答える