Laravel Красноречивый запрос от MySql - PullRequest
0 голосов
/ 19 апреля 2020
SELECT * FROM `user` WHERE uuid LIKE '%10%' AND 
(id in(SELECT `with` FROM connected_people WHERE `is`=1) 
or id in (SELECT `is` FROM connected_people WHERE `with`=1));

Я хочу выполнить этот запрос с помощью Eloquent Но у меня нет четкой идеи, как это сделать.

User::where('uuid', 'LIKE', "%10%")->get();

Может кто-нибудь научить меня, как это Laravel.

1 Ответ

0 голосов
/ 19 апреля 2020
User::where('uuid', 'LIKE', "%10%")->where(function($query) use($id){
      $query->whereRaw('? IN (SELECT `with` FROM connected_people WHERE `is`=1)', [$id])
            ->orWhereRaw('? IN (SELECT `is` FROM connected_people WHERE `with`=1)', [$id]);
})
->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...