好吧,我还在使用Eloquent ORM,并且无法想到一个“快速”解决方案:现在我想我需要重新创建以下MySQL查询:
SELECT *
FROM properties
LEFT JOIN property_environments ON property_environments.property_id = properties.id
LEFT JOIN environments ON property_environments.environment_id = environments.id
WHERE environments.name = "Rooms"
AND property_environments.value = 2
我应该说所有表都有所需的外键:
App\Property
App\PropertyEnvironment
App\Environments
因此,我想选择所有具有名称为“Rooms”且其值为2的环境的属性。
所以我对此表示感谢。
答案 0 :(得分:1)
如果您还没有这样做,请创建多对多关系。然后你可以按照
的方式做点什么Property::whereHas('environment', function($query) {
$query->where('name', 'Rooms')
->where('value', 2);
})
->get();