0

次の表を考えてみましょう。

 special_product(
  id
 product_key - FK to product.key)

 product(
 id
 key
 name)

product_attributes(
id
product_id FK to product.id
description
)

SpecialProductQuery私の質問は、クラスから始まる列 special_product.id、product.id、product_attributes.description を提供するクエリをどのように作成できるかです。

基本的に、生成されたクエリは

select s.id, p.id, pa.description 
from special_product s
left join product p on s.key = p.key
left join product_attributes pa on p.id = pa.product_id
4

1 に答える 1

0

スキーマに関係が構築されていると仮定すると、次のことができるはずです。

 $specialProduct = specialProductQuery::create()
      ->joinWithProduct(SpecialProduct.Product)
      ->joinWith(Product.ProductAttributes)
      ->find();

ここから、サブオブジェクトから必要な値を取得できます (コレクションを繰り返し処理する必要があることに注意してください)。

 foreach($specialProduct as $special)
 {
      $product = $special->getProduct();
 }

モデルにどのように名前を付けたかに応じて、YMMV。

于 2013-01-04T00:05:05.127 に答える