// +---------------------------------------------------------------------- namespace app\model\user; use app\model\system\config\SystemUserLevel; use qiniu\basic\BaseModel; use qiniu\traits\ModelTrait; use think\Model; use think\model\concern\SoftDelete; /** * 用户等级 * Class UserLevel * @package app\model\user\level */ class UserLevel extends BaseModel { use ModelTrait; use SoftDelete; /** * 数据表主键 * @var string */ protected $pk = 'id'; /** * 模型名称 * @var string */ protected $name = 'user_level'; public function setAddTimeAttr($value) { return time(); } public function getAddTimeAttr($value) { return $value ? date('Y-m-d H:i:s', $value) : '--'; } public function levelInfo() { return $this->hasOne(SystemUserLevel::class, 'id', 'level_id'); } /** * 用户uid * @param Model $query * @param $value */ public function searchUidAttr($query, $value) { $query->where('uid', $value); } /** * 是否永久 * @param Model $query * @param $value */ public function searchIsForeverAttr($query, $value) { $query->where('is_forever', $value); } /** * 过期时间 * @param Model $query * @param $value */ public function searchValidTimeAttr($query, $value) { $query->where('valid_time', '>', $value); } /** * 过期时间 * @param Model $query * @param $value */ public function searchValidAttr($query, $value) { if ($value) $query->where('valid_time', '>', time())->whereOr('is_forever', 1)->where('status', 1); } /** * 状态 * @param Model $query * @param $value */ public function searchStatusAttr($query, $value) { $query->where('status', $value); } }