'date:Y-m-d', 'expire_time' => 'date:Y-m-d', 'reset_time' => 'date:Y-m-d', ]; public function scopeUid($query) { return $query->whereId(Auth::id()); } public function payment(): HasMany { return $this->hasMany(Payment::class, 'user_id', 'id'); } public function getLevelNameAttribute(): string { return Level::whereLevel($this->attributes['level'])->first()->name; } public function group(): HasOne { return $this->hasOne(UserGroup::class, 'id', 'group_id'); } public function subscribe(): HasOne { return $this->hasOne(UserSubscribe::class, 'user_id', 'id'); } public function referral(): HasOne { return $this->hasOne(__CLASS__, 'id', 'referral_uid'); } public function getCreditAttribute($value) { return $value / 100; } public function setCreditAttribute($value) { return $this->attributes['credit'] = $value * 100; } public function getEnableTimeAttribute() { return $this->attributes['enable_time']; } public function getExpireTimeAttribute() { return $this->attributes['expire_time']; } public function getResetTimeAttribute() { return $this->attributes['reset_time']; } // User查询,查那些用户有传入Node的权限 public function scopeGroupUserPermit($query, $node_id = 0) { $groups = [0]; if($node_id){ foreach(UserGroup::all() as $userGroup){ $nodes = $userGroup->nodes; if($nodes && in_array($node_id, $nodes, true)){ $groups[] = $userGroup->id; } } } return $query->whereIn('group_id', $groups); } public function scopeActiveUser($query) { return $query->where('status', '<>', -1)->whereEnable(1); } }