where('uid', $row['id']) ->column('group_id'); } public function getGroupNameArrAttr($value, $row): array { $groupAccess = Db::name('admin_group_access') ->where('uid', $row['id']) ->column('group_id'); return AdminGroup::whereIn('id', $groupAccess)->column('name'); } public function getAvatarAttr($value): string { return full_url($value, false, config('buildadmin.default_avatar')); } public function setAvatarAttr($value): string { return $value == full_url('', false, config('buildadmin.default_avatar')) ? '' : $value; } public function getLastLoginTimeAttr($value): string { return $value ? date('Y-m-d H:i:s', $value) : ''; } /** * 重置用户密码 * @param int|string $uid 管理员ID * @param string $newPassword 新密码 * @return int|Admin */ public function resetPassword(int|string $uid, string $newPassword): int|Admin { $salt = Random::build('alnum', 16); $passwd = encrypt_password($newPassword, $salt); return $this->where(['id' => $uid])->update(['password' => $passwd, 'salt' => $salt]); } }