hasOne(SysUser::class, 'uid', 'uid')->joinType('inner') ->withField('uid,username,head_img,real_name,last_ip,last_time,login_count,create_time') ->bind(['username', 'head_img', 'real_name', 'last_ip', 'last_time', 'login_count']); } /** * 关联查询站点信息 * @return HasOne */ public function siteInfo() { return $this->hasOne(Site::class, 'site_id', 'site_id')->joinType('inner') ->withField('site_id, site_name, app_type, status, expire_time') ->bind(['site_name', 'app_type', 'status', 'expire_time', 'status_name'])->append(['status_name']); } /** * 状态字段转化 * @param $value * @param $data * @return mixed */ public function getStatusNameAttr($value, $data) { if (!isset($data['status']) || empty($data['status'])) return ''; return UserDict::getStatus()[$data['status']] ?? ''; } }