<?php namespace App\Laravue\Models; use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable; use Laravel\Passport\HasApiTokens; use Spatie\Permission\Traits\HasRoles; /** * Class User * * @property string $name * @property string $email * @property string $password * @property Role[] $roles * * @method static User create(array $user) * @package App */ class User extends Authenticatable { use Notifiable, HasRoles, HasApiTokens; // protected $table = "BackgroundUser"; // public $timestamps = false; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'name', 'email', 'password' ]; /** * The attributes that should be hidden for arrays. * * @var array */ protected $hidden = [ 'password', 'remember_token', ]; /** * The attributes that should be cast to native types. * * @var array */ protected $casts = [ 'email_verified_at' => 'datetime', ]; /** * Set permissions guard to API by default * @var string */ protected $guard_name = 'api'; /** * @inheritdoc */ public function getJWTIdentifier() { return $this->getKey(); } /** * @inheritdoc */ public function getJWTCustomClaims() { return []; } /** * @return bool * 验证是否管理员 */ public function isAdmin(): bool { foreach ($this->roles as $role) { if ($role->isAdmin()) { return true; } } return false; } }