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");
        });
})