我正在尝试进行雄辩的查询,在表a = x
OR
列b = x
所在的表上进行联接;我无法使它工作。所以我希望有人能提供帮助。
这是我的查询:
$candidates = HrCandidate::where('people_id', '<>', 'NULL')
->with('contact')
->join(
'people',
->where('id','people_id')
->orWhere('alternate_id','people_id')
)
->get();
我正在尝试与人员表连接,但要连接people_id = 1
或alternate_id
列。因此,我希望有人可以对此提供帮助。
答案 0 :(得分:1)
首先,将Closure作为第二个参数传递给join方法。该Closure将收到一个JoinClause对象,该对象使您可以指定join子句的约束:
$candidates = HrCandidate::join('people', function ($join) {
$join
->on('people.id', '=', 'candidates.people_id')
->orOn('people.alternate_id', '=', 'candidates.people_id');
})
->where('people_id', '<>', 'NULL')
->get();