當前使用的版本是laravel 5.2 在使用和
Zizaco/entrust 5.2
這個包的時候,怎麼獲得當前登入使用者的角色?
namespace App\Services;use App\User;use Zizaco\Entrust\EntrustRole;use Illuminate\Support\Facades\Cache;class NameAndRole{ public $username; public $role; public function __construct() { $user = \Auth::user(); $this->username = $user->name; $role = ; //怎麼獲得當前登入使用者的角色? }}
回複內容:
當前使用的版本是laravel 5.2 在使用和Zizaco/entrust 5.2
這個包的時候,怎麼獲得當前登入使用者的角色?
namespace App\Services;use App\User;use Zizaco\Entrust\EntrustRole;use Illuminate\Support\Facades\Cache;class NameAndRole{ public $username; public $role; public function __construct() { $user = \Auth::user(); $this->username = $user->name; $role = ; //怎麼獲得當前登入使用者的角色? }}
在你的users模型以及roles模型裡,應該有像下邊這樣的方法:
class User extends Model{ //... public function roles () { // 多對多的關係(一個使用者有多個角色) return $this->belongsToMany(\App\Role::class); } //...}class Role extends Model{ //... public function users () { // 多對多的關係(一個角色賦予了多個使用者) return $this->belongsToMany(\App\User::class); } //...}
模型裡邊有了以上方法,擷取角色就像下邊這樣(訪問動態屬性):
$roles = $user->roles; // 一個使用者可能有多個角色