Как это можно увидеть в терминах Laravel Eloquent? - PullRequest
0 голосов
/ 05 июля 2019

Я конвертирую часть SQL-запроса к базе данных в запрос Laravel Eloquent, но он не работает.

Мой фрагмент кода выглядит так:

SELECT user_id FROM posts WHERE user_id NOT IN (SELECT id FROM users)

Может кто-нибудь объяснить, почему?

Ответы [ 2 ]

3 голосов
/ 05 июля 2019

Итак, если у вас есть модель Post, вы можете попробовать что-то вроде этого:

Post::select('user_id')->whereNotIn('user_id', User::pluck('id'))->get();
0 голосов
/ 05 июля 2019

Вы можете написать необработанный запрос в laravel.

$statement = "SELECT user_id FROM posts";
DB::statement($statement);

В частности, в Laravel вы можете добиться того, чтобы он был встроен в Query Builder для итеративного построения операторов или выполнения полностью необработанного оператора SQL с помощью

DB:: select ( [raw query string] )

Например,

$users = DB::select('select * from users where active = ?', [1]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...