podcast = (new PodcastModel())->getPodcastById($params[0])) { unset($params[0]); return $this->$method(...$params); } throw PageNotFoundException::forPageNotFound(); } public function index() { helper('form'); $data = [ 'podcast' => $this->podcast, 'podcastPersons' => (new PodcastPersonModel())->getPodcastPersons( $this->podcast->id, ), 'personOptions' => (new PersonModel())->getPersonOptions(), 'taxonomyOptions' => (new PersonModel())->getTaxonomyOptions(), ]; replace_breadcrumb_params([ 0 => $this->podcast->title, ]); return view('admin/podcast/person', $data); } public function attemptAdd() { $rules = [ 'person' => 'required', ]; if (!$this->validate($rules)) { return redirect() ->back() ->withInput() ->with('errors', $this->validator->getErrors()); } (new PodcastPersonModel())->addPodcastPersons( $this->podcast->id, $this->request->getPost('person'), $this->request->getPost('person_group_role'), ); return redirect()->back(); } public function remove($podcastPersonId) { (new PodcastPersonModel())->removePodcastPersons( $this->podcast->id, $podcastPersonId, ); return redirect()->back(); } }