簡體   English   中英

Laravel 5查詢生成器,復雜的聯接(條件AND(條件OR條件))

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM