Laravel JOIN-запрос с двумя условиями, из которых NULL - PullRequest
0 голосов
/ 08 января 2019

Мне нужен запрос, в котором я хочу объединить таблицы, при 2 условиях в OR. Из этих 2 условий следует проверить, является ли столбец IS NULL.

$query->select('users.*', 'o.name', 'r.name')
                     ->join('owners as o', 'users.owner_id', '=', 'o.id')
                     ->join('residents as r', 'users.resident_id', '=', 'r.id');

В приведенном выше запросе я также хочу проверить, является ли users.resident_id IS NULL, т.е. users.resident_id = r.id OR users.resident_id IS NULL.

Спасибо за ваше время и помощь заранее.

1 Ответ

0 голосов
/ 08 января 2019

я не пробовал это ..

как насчет использования "right join" sql ..

от w3school .. SQL RIGHT JOIN Ключевое слово. Ключевое слово RIGHT JOIN возвращает все записи из правой таблицы (table2) и сопоставленные записи из левой таблицы (table1). Результат равен NULL с левой стороны, когда нет совпадений.

если это не работает, используйте "whereIn" .. сначала выберите все идентификаторы с нулевыми данными, затем выберите все идентификаторы из соединения .. затем вы можете использовать whereIn, чтобы выбрать все данные с идентификаторами из data1 и data2 ..

...