Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 21.11.2017 15:57:14

Выборка данных из одной таблицы, которых нет в другой

Laravel Framework v5.5.20
PHP Version 7.1.6
Операционная система и её версия: windows 10


Добрый день.

В БД существуют 2 таблицы. Вот упрощенный их  вид и содержимое:

outlets: 
id, outlets
1, ТТ1
2, ТТ2
3, ТТ3
4, ТТ4

routers:
id, outlets_id
1, 2
2, 4

Пытаюсь вывести все записи из таблицы outlets, которых нет в routers. То есть должно быть выведены записи с id: 1 (ТТ1), 3(ТТ3).
Пробовал, как-то так:

			$outlet_out=DB::table('outlets')
				->leftjoin('routers', 'outlets.id', '=', 'routers.outlets_id')
				->where('routers.outlets_id','<>','outlets.id')
				->select('outlets.*')
				->get();

Выводит только те которые совпадают.
Помогите, пож-та. Заранее спасибо.

Не в сети

#2 21.11.2017 16:08:44

Re: Выборка данных из одной таблицы, которых нет в другой

Прошу прощения.
Нашёл ответ.

			$outlet_out=DB::table('outlets')
				->leftjoin('routers', 'outlets.id', '=', 'routers.outlets_id')
				->where('routers.outlets_id','=',null)
				->select('outlets.*')
				->get();

Вопрос можно закрывать

Не в сети

#3 21.11.2017 17:29:14

Re: Выборка данных из одной таблицы, которых нет в другой

Тот случай, когда непонятно зачем избегали SQL big_smile


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

Подвал раздела