Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel雄辩的ORM查询关系内部的关系_Php_Mysql_Laravel_Laravel 5_Eloquent - Fatal编程技术网

Php Laravel雄辩的ORM查询关系内部的关系

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

好吧,我仍然在使用雄辩的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();

没有必要使用
with pivot
来实现这一点,但这仍然是一个很好的答案+1因此,
属性
应与
属性环境
环境
有多对多关系?
属性
应与
环境
有多对多关系