Я новичок в Laravel и пытаюсь получить результаты из таблицы с несколькими предложениями where и or.
Cases::select()
->where('accepting_id', '=', '1')
->where('status', '=', 'active')
->orWhere("status", '=', 'closed')
->orWhere("status", '=', 'canceled')
->orderBy('id', 'DESC')
->get();
Я получаю неверные данные, используя несколько orWhere






Вместо использования мульти orWhere() используйте whereIn()
Cases::select(`cols`)
->where('accepting_id', '=', '1')
->whereIn('status', ['active', 'closed', 'canceled'])
->orderBy('id', 'DESC')
->get();
Также, если вы хотите сгруппировать некоторые запросы
Cases::select(`cols`)
->where('accepting_id', '=', '1')
->where(function ($q) {
$q->where(`condition1`)
->orWhere(`condition1`);
})
->orderBy('id', 'DESC')
->get();
@thisiskelvin ваш ответ также полезен.
Это может помочь в другой ситуации
Вам нужно будет добавить предложения status where к закрытию where:
Cases::select()
->where('accepting_id', '=', '1')
->where(function($query) {
$query->where('status', '=', 'active')
->orWhere("status", '=', 'closed')
->orWhere("status", '=', 'canceled');
})
->orderBy('id', 'DESC')
->get();
return заявление не нужно
$user = Cases::select(`cols`)
->where('accepting_id', '=', '1')
->whereIn('status', ['active', 'closed', 'canceled'])
->orderBy('id', 'DESC')
->get();
dd($user);
Попробуй это
Удалил мой ответ, так как твой лучше