/** * Process request to create new relationship * * @param Request request * @return Response */ public function postCreateRelationship(Request $request) { $this->validate($request, ['magazine_id' => 'required|numeric', 'agent_id' => 'required|numeric']); $agent_id = $request->agent_id; $magazine_id = $request->magazine_id; // Get current agent try { $agent = Agent::findOrFail($agent_id); $magazine = Magazine::findOrFail($magazine_id); } catch (ModelNotFoundException $e) { $errMsg = "Cannot find agent/magazine! Error on `CreateRelationship` with agent ID={$agent_id} and magazine ID={$magazine_id}"; return redirect('masterdata/agent')->with('errMsg', $errMsg); } $agent = $agent->magazine()->save($magazine); // Add new entry return redirect("masterdata/agent/relationship/{$agent_id}")->with('message', 'Added new relationship!'); }