Php Laravel雄辩的ORM查询关系内部的关系
好吧,我仍然在使用雄辩的ORM,想不出一个“快速”的解决方案:现在我想我需要重新创建以下MySQL查询:Php Laravel雄辩的ORM查询关系内部的关系,php,mysql,laravel,laravel-5,eloquent,Php,Mysql,Laravel,Laravel 5,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
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
因此,我非常感谢您对此的评论。如果您还没有这样做,请创建多对多关系。然后你可以按照
Property::whereHas('environment', function($query) {
$query->where('name', 'Rooms')
->where('value', 2);
})
->get();
没有必要使用
with pivot
来实现这一点,但这仍然是一个很好的答案+1因此,属性
应与属性环境
或环境
有多对多关系?属性
应与环境
有多对多关系