init(); parent::__construct($attributes); } protected function init() { $connection = config('admin.database.connection') ?: config('database.default'); $this->setConnection($connection); $this->setTable(config('admin.database.users_table')); } /** * Get avatar attribute. * * @return mixed|string */ public function getAvatar() { $avatar = $this->avatar; if ($avatar) { if (! URL::isValidUrl($avatar)) { $avatar = Storage::disk(config('admin.upload.disk'))->url($avatar); } return $avatar; } return admin_asset(config('admin.default_avatar') ?: '@admin/images/default-avatar.jpg'); } /** * A user has and belongs to many roles. * * @return BelongsToMany */ public function roles(): BelongsToMany { $pivotTable = config('admin.database.role_users_table'); $relatedModel = config('admin.database.roles_model'); return $this->belongsToMany($relatedModel, $pivotTable, 'user_id', 'role_id')->withTimestamps(); } /** * 判断是否允许查看菜单. * * @param array|Menu $menu * * @return bool */ public function canSeeMenu($menu) { return true; } }