小编Max*_*epl的帖子

雄辩的复杂联合

我做了一个范围

public function scopeCollaborative($query){
    return $query->leftJoin('collaborative', function($join){
        $join->on('imms.phone2', '=', 'collaborative.phone')
            ->orOn('imms.phone', '=', 'collaborative.phone')
            ->where('collaborative.user_id', '=', App('CURUSER')->id);
    });
}
Run Code Online (Sandbox Code Playgroud)

在查询日志中,此范围添加:

left join `cs_collaborative` on 
    `cs_imms`.`phone2` = `cs_collaborative`.`phone` or 
    `cs_imms`.`phone` = `cs_collaborative`.`phone` and 
    `cs_collaborative`.`user_id` = 3
Run Code Online (Sandbox Code Playgroud)

但我需要:

left join `cs_collaborative` on 
    (`cs_imms`.`phone2` = `cs_collaborative`.`phone` or 
    `cs_imms`.`phone` = `cs_collaborative`.`phone`) and 
    `cs_collaborative`.`user_id` = 3
Run Code Online (Sandbox Code Playgroud)

我没有找到一个好的解决方案,JoinClause有功能:On,orOn,where,orWhere.

但并非所有都可以作为输入和分组查询...

有人的理想?

laravel eloquent

4
推荐指数
1
解决办法
3174
查看次数

标签 统计

eloquent ×1

laravel ×1