/** * Display list of Invoice from storage * @return \Illuminate\View\View */ public function index() { $title = 'INVOICE'; if (Input::has('invoiceNumber')) { $invoiceNumber = Input::get('invoiceNumber'); $invoices = Invoice::where('invoiceNumber', 'like', '%' . $invoiceNumber . '%')->orderBy('date', 'desc')->paginate(10); } elseif (Input::has('client')) { $client = Input::get('client'); $invoices = Invoice::where('client', 'like', '%' . $client . '%')->orderBy('date', 'desc')->paginate(10); } elseif (Input::has('startDate') && Input::has('endDate')) { $startDate = Input::get('startDate'); $endDate = Input::get('endDate'); $invoices = Invoice::whereBetween('date', [$startDate, $endDate])->orderBy('date', 'desc')->paginate(10); } elseif (Input::has('startDate')) { $startDate = Input::get('startDate'); $invoices = Invoice::where('date', $startDate)->orderBy('date', 'desc')->paginate(10); } elseif (Input::has('endDate')) { $endDate = Input::get('endDate'); $invoices = Invoice::where('date', $endDate)->orderBy('date', 'desc')->paginate(10); } else { $invoices = DB::table('invoices')->join('vehicles', 'invoices.vehicle', '=', 'vehicles.registration')->select('invoices.*', 'vehicles.brand', 'vehicles.model', 'vehicles.seat', 'vehicles.remarks')->orderBy('date', 'desc')->paginate(10); } return view('invoice.index', compact('title', 'invoices')); }