【发布时间】:2018-05-02 22:33:57
【问题描述】:
我需要在 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() 或同等操作,这可能吗?
【问题讨论】:
-
看这里laravel.com/docs/5.6/queries
Advanced Join Clauses -
在文档中没有找到我的具体案例(我已经阅读过)。我得到了一个已经有效的答案。感谢您的宝贵时间
标签: php laravel laravel-5 eloquent laravel-query-builder