好吧,我仍在使用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的环境的属性。
所以我对此有任何意见。
如果您还没有这样做,请创建多对多关系。然后你可以做一些事情
Property::whereHas('environment', function($query) {
$query->where('name', 'Rooms')
->where('value', 2);
})
->get();