[英]Laravel 5 query builder, complicated join (condition AND (condition OR condition))
我需要在Laravel的查询生成器中重现以下查询:
select * from table LEFT JOIN table_b ON `condition` AND (`condition` OR `condition`)
我知道您可以where
语句中执行复杂的操作:
Model::where(function ($query) {
return $query->where("field","value")->orWhere("field","value");
})->where("field","value")->get();
而且我知道您可以on
语句进行半复杂化:
->leftJoin('table', function ($join) {
$join->on("field","=","field_b")
->on("field_a","=","field_c");
})
但是我需要on
语句中包含condition AND (condition OR condition)
。 如果不执行DB::raw()
或等效方法,这可能吗?
用这个:
->leftJoin('table', function ($join) {
$join->on("field","=","field_b")
->on(function($join) {
$join->on("field_a","=","field_c")
->orOn("field_d","=","field_e");
});
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.