SELECT all, если параметр имеет значение null, иначе возвращает специфический элемент laravel - PullRequest
0 голосов
/ 25 июня 2018

Я планирую создать фильтр.если параметр имеет значение null, все остальные возвращают определенный элемент.

title = "A" and body="B"  --> return all values where title like A & body like B
title = "" and body="B"  -->  return all values where body like B
title = "" and body=""  -->  return all values 

это мой запрос, как изменить этот запрос в соответствии с моими критериями

$posts =  Blog::where('title','LIKE',"%{$title}%")
            ->Where('body', 'LIKE',"%{$body}%")
            ->offset($start)
            ->limit($limit)
            ->orderBy($order,$dir)
            ->get();

1 Ответ

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

Обновите ваш объект построителя запросов в соответствии с вашими критериями

$posts =  Blog::offset($start)
            ->limit($limit)
            ->orderBy($order,$dir);
if(!empty($title)){
    $posts = $posts->where('title','LIKE',"%{$title}%");
}

if(!empty($body)){
    $posts = $posts->where('body','LIKE',"%{$body}%");
}           
$posts = $posts->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...