Я создаю логику, в которой контроллер может вызывать другой контроллер в зависимости от роли Auth :: user (), но не все контроллеры совместно используют один и тот же метод, поэтому я хочу, если контроллер, вызывающий метод, который не существует, выдает404 Не Найдено.вот мой контроллер
class LokalController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
Public $controller;
public function __construct()
{
//$this->middleware('adminakses');
$this->middleware(function ($request, $next) {
$this->setController();
return $next($request);
});
}
public function setController()
{
$role = Auth::user()->role;
switch ($role)
{
case 'admin':
$this->controller = new \SIA\Http\Controllers\Admin\LokalController;
break;
case 'guru':
$this->controller = new \SIA\Http\Controllers\Guru\LokalController;
break;
case 'siswa':
$this->controller = new \SIA\Http\Controllers\Guru\LokalController;
break;
}
}
public function index()
{
return $this->controller->index();
}
, например, Admin \ LokalController имеет метод A (), а Guru \ LokalController - нет, а если пользователь вошел в систему как гуру и пытается вызвать метод A (), он должен вернутьне найдено исключение или что-то понятное пользователю сообщение, но в настоящее время показывающий метод BadMethodCallException A () не существует