Фильтр не появляется, если номер идентификатора пуст в Laravel - PullRequest
0 голосов
/ 28 января 2020

Я хотел бы сделать мультифильтр, один из них с идентификационным номером, но до ввода идентификационного номера данные не отображаются.

 $postlocations = $postlocationsquerynew
                ->whereHas('postlog', function (Builder $querypost) use($request){
                    $log = $request->log;
                    $id = $request->id;
                    $querypost->where('id', $id)->where('log', 'like', '%' . $log . '%')->where('id', $id);
                })
                ->get();

1 Ответ

1 голос
/ 28 января 2020

Используйте , когда , чтобы применить оператор $q->where('id', $id)->where('log', 'like', '%' . $log . '%'), если присутствует заданное значение $id:

$postlocations = $postlocationsquerynew
                ->whereHas('postlog', function (Builder $querypost) use($request){
                    $log = $request->log;
                    $id = $request->id;
                    $querypost->when($id, function($q, $id) use ($log) {
                           $q->where('id', $id)->where('log', 'like', '%' . $log . '%');
                    });
                })
                ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...