2026-05-29 19:54:56 +08:00

95 lines
2.3 KiB
PHP

<?php
namespace common\modules\achievement\vo;
use common\modules\achievement\AchievementUtil;
use yii\behaviors\TimestampBehavior;
use yii\db\ActiveRecord;
/**
*
CREATE TABLE `achievement` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`config_id` varchar(45) NOT NULL,
`name` varchar(45) NOT NULL,
`content` varchar(500) NOT NULL,
`level` int(11) NOT NULL COMMENT '达成几次了',
`count` int(11) NOT NULL COMMENT '计数',
`created_at` int(11) NOT NULL,
`updated_at` int(11) NOT NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
KEY `config_id` (`config_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='成就'
*/
/**
* 成就
* @property int $id
* @property int $user_id
* @property int $config_id
* @property string $name
* @property string $content
* @property int $level //达成几次了
* @property int $count //计数
* @property int $receive //是否领取
* @property int $created_at
* @property int $updated_at
*/
class Achievement extends ActiveRecord
{
public function behaviors()
{
return [
TimestampBehavior::className(),
];
}
public function rules()
{
return [
['id', 'default', 'value' => 0],
['user_id', 'required'],
['user_id', 'exist', 'targetClass' => '\common\models\User', 'targetAttribute' => 'id'],
['config_id', 'default', 'value' => ''],
['config_id', 'default', 'value' => ''],
['name', 'default', 'value' => ''],
['receive', 'default', 'value' => 0],
['level', 'default', 'value' => 0],
['count', 'default', 'value' => 0],
['created_at', 'default', 'value' => 0],
['updated_at', 'default', 'value' => 0],
];
}
/**
* @param $userID
* @param $configID
* @return static
*/
public static function findByUserIDAndConfigID($userID, $configID)
{
return self::findOne(['user_id' => $userID, 'config_id' => $configID]);
}
/**
* @param $userID
* @return static[]
*/
public static function findAllByUserID($userID)
{
return self::findAll(['user_id' => $userID]);
}
public static function findByID($id)
{
return self::findOne(['id' => $id]);
}
}