@Andre97

Как сделать запрос к модели на выборку по двум полям, каждое из которых необязательное?

Добры день. Ситуация примерно такая. Есть таблица юзеров. Юзеры среди прочего имеют возраст и опыт работы. Как сделать запрос через модель, чтоб оно подбирало их по возрасту и опыту? Эти параметры могут быть, а могут не быть. Если какого то параметра нет, тогда чтоб возвращало всех, а по другому параметру перебирало. Если двух параметров нет, получается надо вернуть всех.
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега Laravel
$query = User::query();

if ($request->has('age')) {
  $query->where('age', $request->get('age'));
}

if ($request->has('experience')) {
  $query->where('experience', $request->get('experience'));
}

$users = $query->get();


Можно написать с использованием ->when(), но на мой вкус он только усложняет код.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы