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')->

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

Благодарю за помощь!
  • Вопрос задан
  • 192 просмотра
Решения вопроса 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()
Ответ написан
Ваш ответ на вопрос

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

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