Laravel красноречивый запрос и присоединиться при условии ИЛИ - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь сделать красноречивый запрос, где он присоединяется к таблице, где column a = x OR column 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.Поэтому я надеюсь, что кто-то может помочь с этим.

1 Ответ

0 голосов
/ 25 сентября 2018

Для начала передайте 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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...