Я пытаюсь отфильтровать данные, поступающие из базы данных.
Вот полный запрос
public function index(Request $request)
{
$dateFrom = $request->get('dateFrom', Carbon::now()->subYears(10)->toDateTimeString());
$dateTo = $request->get('dateTo', Carbon::today());
$status = $request->get('orderState');
$orders = (new OrderDetail())
->where('supplier_id', Auth::guard('supplier')->user()->id)
->whereBetween('created_at', [$dateFrom, $dateTo])
->whereHas('orderId', function ($query) use ($status) {
$query->where('order_state_id', $status);
})
->groupBy('order_id')
->get();
//Order Status
$orderStates = OrderState::listsTranslations('states')->pluck('states', 'id')->toArray();
return view('supplierComponents.order_list', compact('orders', 'orderStates'));
}
сейчас, если клиент не выбрал $status
, результаты будут пустыми.Как я могу установить значение по умолчанию $status
для всех или просто проигнорировать его в запросе, если он пуст, без необходимости делать другой запрос?