0 已删除 ]; public function getList() { return $this->catchSearch() ->order('id', 'desc') ->select() ->toArray(); } /** * * @time 2019年12月08日 * @return \think\model\relation\BelongsToMany */ public function users(): \think\model\relation\BelongsToMany { return $this->belongsToMany(Users::class, 'user_has_roles', 'uid', 'role_id'); } /** * * @time 2019年12月09日 * @return \think\model\relation\BelongsToMany */ public function permissions(): \think\model\relation\BelongsToMany { return $this->belongsToMany(Permissions::class, 'role_has_permissions', 'permission_id', 'role_id'); } /** * * @time 2019年12月08日 * @param array $condition * @param array $field * @return mixed */ public function getPermissions($condition = [], $field = []) { return $this->permissions() ->when(!empty($field), function ($query) use ($field){ $query->field($field); }) ->when(!empty($condition), function ($query) use ($condition){ $query->where($condition); }) ->select(); } /** * * @time 2019年12月08日 * @param array $permissions * @return mixed * @throws \think\db\exception\DbException */ public function attach(array $permissions) { if (empty($permissions)) { return true; } sort($permissions); return $this->permissions()->attach($permissions); } /** * * @time 2019年12月08日 * @param array $roles * @return mixed */ public function detach(array $roles = []) { if (empty($roles)) { return $this->permissions()->detach(); } return $this->permissions()->detach($roles); } }