// +---------------------------------------------------------------------- namespace ywxapp\model; use ywxapp\model\BaseModel; /** * 用户资料模型 */ class MemberProfile extends BaseModel { protected function getOptions(): array { return [ 'strict' => false, 'name' => 'member_profile', 'autoWriteTimestamp' => 'int', 'createTime' => 'create_at', 'updateTime' => 'update_at', // 'deleteTime' => 'delete_at', // 'defaultSoftDelete' => 0, // 'dateFormat' => 'Y-m-d H:i:s', 'append' => ['is_parent', 'age', 'is_online'], 'hidden' => ['create_at', 'update_at', 'delete_at'], 'readonly' => ['uid'], ]; } /** * 计算年龄 */ public function getAgeAttr() { if (empty($this->birthday)) { return 0; } $b = strtotime($this->birthday); if ($b === false) { return 0; } return (int) floor((time() - $b) / 31557600); } /** * 是否在线(5 分钟内活跃) */ public function getIsOnlineAttr() { return $this->online_status == 1 || (! empty($this->last_active_at) && time() - (int) $this->last_active_at < 300); } /** * 表结构自愈:建表 + 关键列兜底(install.sql 为事实源)。 * 查询/写入前调用,避免老库缺表导致 1146。 */ public static function ensureSchema(): void { BaseModel::ensureTableFromInstall(BaseModel::currentPrefix(), 'member_profile'); } } // realname varchar(255) NO 实名 // gender tinyint(1) 0 NO 性别 (0:保密 1:男 2:女) // birthyear smallint(6) unsigned 0 NO // birthmonth tinyint(3) unsigned 0 NO // birthday tinyint(3) unsigned 0 NO // constellation varchar(255) NO 星座(根据生日自动计算) // zodiac varchar(255) NO 生肖(根据生日自动计算) // telephone varchar(255) NO 固定电话 // mobile varchar(255) NO 手机 // idcardtype varchar(255) NO 证件类型:身份证 护照 军官证等 // idcard varchar(255) NO 证件号码 // address varchar(255) NO 邮寄地址 // zipcode varchar(255) NO 邮编 // nationality varchar(255) NO 国籍 // birthprovince varchar(255) NO 出生省份 // birthcity varchar(255) NO 出生城市 // birthdist varchar(20) NO 出生行政区/县 // birthcommunity varchar(255) NO 出生小区 // resideprovince varchar(255) NO 居住省份 // residecity varchar(255) NO 居住城市 // residedist varchar(20) NO 居住行政区/县 // residecommunity varchar(255) NO 居住小区 // residesuite varchar(255) NO 小区、写字楼门牌号 // graduateschool varchar(255) NO 毕业学校 // company varchar(255) NO 公司 // education varchar(255) NO 学历 // occupation varchar(255) NO 职业 // position varchar(255) NO 职位 // revenue varchar(255) NO 年收入 // affectivestatus varchar(255) NO 情感状态 // lookingfor varchar(255) NO 交友目的(交友类型) // bloodtype varchar(255) NO 血型 // height varchar(255) NO 身高 // weight varchar(255) NO 体重 // alipay varchar(255) NO 支付宝帐号 // icq varchar(255) NO ICQ // qq varchar(255) NO QQ // yahoo varchar(255) NO YAHOO // msn varchar(255) NO MSN // taobao varchar(255) NO 阿里旺旺 // site varchar(255) NO 主页 // bio text NO 自我介绍 来自论坛bio字段 // interest text NO 兴趣爱好 // field1 text NO 自定义字段1 // field2 text NO 自定义字段2 // field3 text NO 自定义字段3 // field4 text NO 自定义字段4 // field5 text NO 自定义字段5 // field6 text NO 自定义字段6 // field7 text NO 自定义字段7 // field8 text NO 自定义字段8