Задать вопрос
AlexanderShapoval
@AlexanderShapoval
PHP maker

Сложный поисковый запрос к БД в Laravel. Как исключить удаленные записи?

В общем в таблице хранятся записи которые были удалены через soft delete.

Делаю запрос к БД

where('name', 'LIKE', '%' . $slug . '%')->
orWhere('short_description', 'LIKE', '%' . $slug . '%')->
orWhere('description', 'LIKE', '%' . $slug . '%')->
orWhere('meta_keywords', 'LIKE', '%' . $slug . '%')->


Всё отлично, только как сюда написать
whereNull('deleted_at')->

Ибо оно выводит удаленные записи также

Благодарю за помощь!
  • Вопрос задан
  • 200 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Loftschool
    Комплексное обучение PHP
    6 недель
    Далее
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Skillbox
    Профессия PHP-разработчик с нуля до PRO
    7 месяцев
    Далее
Решения вопроса 1
miraage
@miraage
Старый прогер
Написал на коленке, должно быть как-то так.
->where(function ($query) use ($slug) {
    $query->where('name', 'LIKE', '%' . $slug . '%');
    $query->orWhere('short_description', 'LIKE', '%' . $slug . '%');
    $query->orWhere('description', 'LIKE', '%' . $slug . '%');
    $query->orWhere('meta_keywords', 'LIKE', '%' . $slug . '%');
})
->whereNull('deleted_at');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
DJZT
@DJZT
Laravel - code for you
Примерно так
where(function($q){
    $q->where('name', 'LIKE', '%' . $slug . '%')->
    orWhere('short_description', 'LIKE', '%' . $slug . '%')->
    orWhere('description', 'LIKE', '%' . $slug . '%')->
    orWhere('meta_keywords', 'LIKE', '%' . $slug . '%')->
})->whereNull()
Ответ написан
Ваш ответ на вопрос

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

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