假设您有这些模型关系:
提供HABTM类别
如何构建查找条件以查找至少包含一个商品的所有类别。在同一时间,要约应为Offer.enabled => 1.因此,找到至少有一个已启用要约的所有类别。检查报价模型的条件有几个,但一旦我可以检查启用,我想我将能够检查任何其他字段。
我可以将habtm模型绑定到Category,但在这种情况下,我无法检查Offer.enabled条件。也许以某种方式使用包含? sql查询将是:
SELECT DISTINCT Category.nome from categories as Category
LEFT JOIN categories_offers AS CategoriesOffer
ON (CategoriesOffer.category_id = Category.id)
LEFT JOIN offers as Offer ON (CategoriesOffer.offer_id = Offer.id)
WHERE Offer.enabled = 1
谢谢
答案 0 :(得分:0)
使用关系定义中的conditions
键仅在Offer.enabled = 1
时设置关系。取自book。例如:
class Category extends Model {
public $hasAndBelongsToMany = array(
'Offer' => array(
'conditions' => array( 'Offer.enabled' => 1 )
)
);
}