Нестатистический c метод App \ Http \ Models \ Role :: id_role () не должен вызываться статически в laravel - PullRequest
0 голосов
/ 15 апреля 2020

Я новичок в laravel и пытаюсь создать собственное промежуточное ПО для входа в систему. Я пытаюсь получить роль, используя промежуточное ПО. Но я столкнулся с некоторой проблемой.

class CheckRole
{
   public function handle($request, Closure $next)
    {
      if(Role::id_role() == $request->input('id_role')){
              echo "Yes";
        }else {
          echo "NO";
        }
    }
}
class Role extends Model
{
  protected $table = 'roles';
  public $field;
  public function id_role()
  {
     return $data = $this->all();
  } 
}

Любая помощь? Заранее спасибо

1 Ответ

0 голосов
/ 15 апреля 2020

Как отмечает @TsaiKoga, ваша пользовательская функция не имеет статического значения c, поэтому вы не можете вызывать ее статически.

Альтернативный способ вызвать ее - использовать объект модели:

if (app(Role::class)->id_role() == $request->input('id_role')){
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...