[英]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.