<?php

namespace Kylin\User\Models;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;

/**
 * 用户资料模型
 *
 * 存储用户的扩展资料信息，与 User 模型一对一关联。
 *
 * @property string $real_name  真实姓名
 * @property string $id_card    身份证号
 * @property string $gender     性别
 * @property string $birthday   生日
 * @property string $province   省份
 * @property string $city       城市
 * @property string $district   区/县
 * @property string $address    详细地址
 */
class UserProfile extends Model
{
    protected $table = 'kylin_user_profiles';

    protected $fillable = [
        'user_id', 'real_name', 'id_card', 'gender', 'birthday',
        'province', 'city', 'district', 'address', 'company',
        'position', 'extra',
    ];

    protected $casts = [
        'birthday' => 'date',
        'extra' => 'array',
    ];

    public function user(): BelongsTo
    {
        return $this->belongsTo(User::class);
    }
}
