User.php 1.22 KB
<?php

namespace domain\user\models;

use yii\db\ActiveRecord;
use yii\behaviors\TimestampBehavior;
use domain\user\models\UserProfile as UserProfileModel;
use common\helpers\Utils;

/**
 * 用户
 * This is the model class for table "{{%gk_user}}".
 */
class User extends ActiveRecord
{
    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return '{{%gk_user}}';
    }

    /**
     * @return array
     */
    public function behaviors()
    {
        return [
            'time' => [
                'class' => TimestampBehavior::className(),
                'createdAtAttribute' => 'created_at',
                'updatedAtAttribute' => 'updated_at',
            ]
        ];
    }
    /* @inheritdoc */
    public function init()
    {
        parent::init();
        $this->attachEvents();
    }

    /* @inheritdoc */
    public function attachEvents()
    {
        $this->on(static::EVENT_BEFORE_INSERT, [$this, 'onBeforeInsert']);
    }

    /**
     * 记录插入前的回调处理
     */
    public function onBeforeInsert()
    {
        $this->uuid = Utils::genUUID();
    }

    public function getProfile()
    {
        return $this->hasOne(UserProfileModel::className(),["user_id" => "id"]);
    }
}