muhammadislom
@muhammadislom
PHP Laravel

Laravel Сокрашения query?

Доброго времени.
В таблице имеются столбец enabled. Нужно взять только те в котором enabled равен 1.
Мне нужно что бы where('enabled', 1) был использован один раз.
Но если указываю where('enabled', 1) в конце не работает если в начале тоже. Подскажите как могу упростить данный запрос спасибо за ответ.
$query
            ->where('title_uz', 'like', '%' . $params[1] . '%')->where('enabled', 1)
            ->orWhere('title_oz', 'like', '%' . $params[1] . '%')->where('enabled', 1)
            ->orWhere('title_ru', 'like', '%' . $params[1] . '%')->where('enabled', 1)
            ->orWhere('title_qr', 'like', '%' . $params[1] . '%')->where('enabled', 1)
            ->orderBy('id');
  • Вопрос задан
  • 136 просмотров
Решения вопроса 1
Fragster
@Fragster
помогло? отметь решением!
https://laravel.com/docs/8.x/queries#logical-grouping
как-то так:
$query->where('enabled', 1)
    ->where(function ($query) {
               $query->where('title_uz', 'like', '%' . $params[1] . '%')->
            ->orWhere('title_oz', 'like', '%' . $params[1] . '%')->
            ->orWhere('title_ru', 'like', '%' . $params[1] . '%')->
            ->orWhere('title_qr', 'like', '%' . $params[1] . '%')})
            ->orderBy('id');
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы