让我们考虑以下表格:
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
答案 0 :(得分:0)
假设您已经在模式中构建了关系,那么您应该能够:
$specialProduct = specialProductQuery::create()
->joinWithProduct(SpecialProduct.Product)
->joinWith(Product.ProductAttributes)
->find();
从这里,您可以从子对象中获取所需的任何值(请记住,您仍然需要遍历集合):
foreach($specialProduct as $special)
{
$product = $special->getProduct();
}
YMMV取决于您如何命名模型。