Как построить запрос, если запрос не нулевой? - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть 3 входа (id, город, сумма) для фильтра и таблица с результатами.Если у меня нет запроса, мне нужен запрос Model::all()->paginate(10).

Если $request->id не нуль, мне нужен запрос Model :: where ('id', $ request-> id) -> paginate (10).

Если $request->id and $request->city and $request->amount не нуль, мне нужен запрос

Model::where(['id' => $request->id, 'city' => $request->city...])->paginate(10)

Как я могу это сделать?

1 Ответ

0 голосов
/ 13 февраля 2019

Я бы сделал это:

  1. проверяем каждую переменную запроса с помощью $hasId = $request->has('id') && ! empty($request->id) один за другим
  2. Наличие нескольких where операторов на основе результата, показанного выше, например:
$model = New Model();
if ($hasId) {
 $model->where('id', $id);
}
...

Eloquent использует Fluent, поэтому вам не нужно присваивать их обратно, просто продолжайте прикреплять туда, где заявления, как будто завтра нет.

прибыль
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...