0

find SQLコマンドで他の列からの外部テーブル値をどのように使用しますか?

例えば、

私は今、そのような構造を使用しています:

$products = $this->Product->find('all');

$suits = array();

foreach ($products as $product) {
  if($product['ProductCategory']['name'] == "Suits"){
    array_push($suits,$product);
  }
}

$this->set('products',$suits);

これを次のように変換することは可能ですか:

$suits = $this->Product->find('list',array('conditions' => array('Products.ProductCategory.name' => "Suits")));
4

1 に答える 1

0
$products = $this->Product->find('all', array('recursive' => -1,
                                              'contain'=>array('ProductCategory'=>
                                                  array('conditions'=>array('name'=>"Suits"))
                                 )));

カテゴリ名ですべての製品をフィルタリングして返す必要があります

[0] => Array
    (
        [Product] => Array
            (
                [id] => 1
                /*etc*/
            )
        [ProductCategory] => Array
            (
                [0] => Array
                    (
                        [id] => 1
                        /*etc*/
                    )
            )
    )
于 2013-04-19T18:18:24.317 に答える