public function postLeave(Exchange $exchange) { if ($exchange->processed) { return Redirect::route('exchange', ['exchange' => $exchange->slug])->withErrors(['e' => 'You can\'t delete a processed exchange']); } if ($exchange->initiator->id == Auth::User()->id) { return Redirect::route('exchange', ['exchange' => $exchange->slug])->withErrors(['e' => 'You can\'t leave an exchange you created']); } $rules = array('' => ''); $validator = Validator::make(Input::all(), $rules); if ($validator->fails()) { return Redirect::route('exchange.leave')->withErrors($validator)->withInput(Input::all()); } else { $user = $exchange->participants()->whereUsername(Auth::User()->username)->count(); if ($user != 0) { $exchange->participants()->detach(Auth::User()); } else { return Redirect::route('exchange', ['exchange' => $exchange->slug])->withErrors(['e' => 'You aren\'t in this exchange']); } return Redirect::route('home'); } }