7

PHP と Laravel 4 を使用して、User モデルに以下のようなメソッドを使用して、管理者ユーザーを確認しています...

public function isAdmin()
{
    if(isset($this->user_role)  && $this->user_role === 'admin'){
        return true;
    }else{
        return false;
    }
}

ただし、他のクラスまたはモデルでこの関数を呼び出すと、これは機能しません。

望ましい結果を得るには、代わりにこのようにする必要がありました...

public function isAdmin()
{
    if(isset(Auth::user()->user_role)  && Auth::user()->user_role === 'admin'){
        return true;
    }else{
        return false;
    }
}

以下のように管理コントローラー内でこれにアクセスしようとしていますが、現在ログインしているユーザーオブジェクトではなく空のユーザーオブジェクトを返します...

public function __construct(User $user)
{
    $this->user = $user;
}

私の質問は、最初のバージョンを機能させるにはどうすればよいですか? 別のクラスでユーザーオブジェクトをインスタンス化するとき、現在ログインしているユーザーのデータが含まれていることを何らかの方法で確認する必要がありますが、それを行う最善の方法がわかりません...これは基本的なことだと知っていますさびた今、助けを使うことができました、ありがとう

4

1 に答える 1