public function store(CreateTripRequest $request, FlashNotifier $flash) { if (!Shuttle::find($request->shuttle_id)) { $flash->error("Error creating trip. Shuttle {$request->id} does not exist."); return redirect()->back()->withInput(); } $driver = User::find($request->driver_id); if ($driver == null) { $flash->error("Error creating trip. User {$request->driver_id} does not exist."); return redirect()->back()->withInput(); } if (!$driver->isDriver()) { $flash->error("Error creating trip. User {$driver->name} is not a driver."); return redirect()->back()->withInput(); } $leaves = new Carbon($request->leaves_at); $arrives = new Carbon($request->arrives_at); Trip::create(['shuttle_id' => $request->shuttle_id, 'driver_id' => $request->driver_id, 'origin' => $request->origin, 'destination' => $request->destination, 'leaves_at' => $leaves, 'arrives_at' => $arrives]); $flash->success('Trip successfully created!'); return back(); }