Запрос Laravel - и где - PullRequest
       4

Запрос Laravel - и где

0 голосов
/ 26 июня 2018

У меня проблема с моим запросом

Когда я запускаю его, как показано ниже, я получаю ВСЕ группы и элементы (элементы таблицы) для всех организаций. Это означает получить только группы из org_id и где они видны.

return $this->model->with( [ 'items' => function($query){$query->where('invisible','=',FALSE)->orWhere('invisible', '=', null)->orderBy('description', 'ASC');} ] )->where("org_id",$org_id)->where('invisible','=',FALSE)->orWhere('invisible', '=', null)->orderBy('description', 'asc')->get();

если я запускаю его так (отбрасывая запрос invisible для групп), он работает нормально.

return $this->model->with( [ 'items' => function($query){$query->where('invisible','=',FALSE)->orWhere('invisible', '=', null)->orderBy('description', 'ASC');} ] )->where("hos_id",$hos_id)->orderBy('description', 'asc')->get();

Как мне сделать

WHERE orf_id= org_id
AND ( invisible = false OR invisible = NULL )

1 Ответ

0 голосов
/ 26 июня 2018

Вы можете достичь этого с помощью

$query->where(function($query){
    $query->where('invisible','=',FALSE)->orWhereNull('invisible');
})

Итак, ваш код будет выглядеть как

return $this->model->with( [ 'items' => function($query){
    $query->where('invisible','=',FALSE)->orWhereNull('invisible')->orderBy('description', 'ASC');
}])
->where("org_id",$org_id)
->where(function($query){
    $query->where('invisible','=',FALSE)->orWhereNull('invisible');
})
->orderBy('description', 'asc')->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...