TimestampBehavior::class, 'attributes' => [ ActiveRecord::EVENT_BEFORE_INSERT => ['created_at'], ActiveRecord::EVENT_BEFORE_UPDATE => ['updated_at'] ] ] ]; } public function rules() { return [ [['user_id', 'amount', 'total'], 'required'], [['user_id', 'total', 'type','status','id','created_at', 'updated_at','remaining_count','store_id','currency_id','is_delete'], 'integer'], [['amount'], 'number', 'min' => 0.01], [[ 'remaining_amount'], 'number'], [[ 'image_url','name'], 'string'], ['total', 'integer', 'min' => 1], ['type', 'in', 'range' => [self::TYPE_NORMAL, self::TYPE_RANDOM]], ['status', 'default', 'value' => self::STATUS_ACTIVE], ]; } public function getRecords() { return $this->hasMany(RedPacketRecord::class, ['packet_id' => 'id']); } public static function getStatusText($status) { $text = [ self::STATUS_ACTIVE => '有效', self::STATUS_EMPTY => '已抢完', self::STATUS_EXPIRED => '已过期', self::STATUS_FAIL => '已作废', ]; return $text[$status]; } }