Я пытаюсь сделать запрос с помощью Query Builder. Я пытаюсь закрыть where
, чтобы выбрать значение, равное значению, хранящемуся в другой таблице, в соответствии с другим предложением where.Запрос Laravel, где значение равно значению в другой таблице
Позвольте мне объяснить, у меня есть эта таблица:
select negotiation_id, status_id from negotiations_statuses;
+----------------+-----------+
| negotiation_id | status_id |
+----------------+-----------+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 1 |
| 5 | 1 |
| 6 | 1 |
+----------------+-----------+
И эту таблицу:
select * from statuses;
+----+------------+
| id | name |
+----+------------+
| 1 | open |
| 2 | in_process |
| 3 | completed |
| 4 | rejected |
+----+------------+
Я хочу, чтобы выбрать переговоры, которые не являются completed
или rejected
.
Это то, что я пробовал:
$items = DB::table('negotiations')
->join('negotiations_statuses', 'negotiations.id', '=', 'negotiations_statuses.negotiation_id')
->where('user_id', '=', Auth::user()->id)
->where('status_id', '!=', '3')
->where('status_id', '!=', '4')
->get();
Это работает, но я явно обман, потому что я использую status_id
непосредственно. Как я могу сделать такой вложенный запрос?
Вы хотите использовать вспомогательный запрос или вложенный запрос? – JMc
вложенной запрос – dabadaba