Laravel 5 вложенный или и пункт внутри другого и пункт - PullRequest
0 голосов
/ 22 октября 2018

Я хочу выполнить этот запрос, но с помощью конструктор запросов laravel Я не получаю точные результаты, используя предложение orWhere и where

SELECT * FROM lectures WHERE school=6 AND ( (period=3 AND class_section=3) OR (period=4 AND teacher=17) )

, так как я могу это сделать с помощью laravelпостроитель запросов может кто-нибудь мне помочь?

1 Ответ

0 голосов
/ 22 октября 2018

Вам нужно использовать Parameter Grouping для перевода вашего запроса в форму построителя запросов

DB::table('lectures)
    ->where('school', '=', 6)
    ->where(function ($query) {
        $query->where(function ($query) {
            $query->where('period', '=', 3)
                  ->where('class_section', '=', 3)
        })->orWhere(function ($query) {
            $query->where('period', '=', 4)
                  ->where('class_section', '=', 17)
        });
    })
    ->get();
...