95 lines
2.3 KiB
PHP
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]);
|
|
}
|
|
}
|