У меня есть два охранника
Admin
User
Также я создал контроллеры, где пользователь может управлять своими собственными данными, а администратор также может управлять пользовательскими данными. Таким образом, я создал два контроллера
Controllers
Admin
EducatonBackgroundController
User
EducationBackgroundController
В User / EducationBackgroundController у меня есть эта функция, которая выбирает фон образования текущего зарегистрированного пользователя и отображает в представлении пользователя
public function index(Education $education)
{
try {
$educations = $education->where('user_id',$this->userLoggedID())->with('organization','program','country','city')->get();
return view('users.education.index',compact('educations'));
}
catch (Exception $e) {
abort(404);
}
}
В Admin / EducationBackgroundController У меня есть эта функция, которая извлекает сведения об образовании всех пользователей и отображает в представлении администратора
public function index(Education $education)
{
try {
$educations = $education->with('organization','program','country','city','user')->get();
return view('admin.users.education.index',compact('educations'));
}
catch (Exception $e) {
abort(404);
}
}
Из наблюдения эти функции похожи, но различаются при возврате представления и извлечении данных.
Так как можно я создаю один контроллер, который может использоваться как администратором, так и пользователем, вместо дублирования контроллера и вида для обеих охранников.