api scrape + medal wearing status

This commit is contained in:
xiaomlove
2022-03-19 14:55:43 +08:00
parent 8c32b45e64
commit 4857b799b8
24 changed files with 16536 additions and 69 deletions
+9 -2
View File
@@ -320,8 +320,10 @@ class User extends Authenticatable
public function medals(): \Illuminate\Database\Eloquent\Relations\BelongsToMany
{
return $this->belongsToMany(Medal::class, 'user_medals', 'uid', 'medal_id')
->withPivot(['id', 'expire_at'])
->withTimestamps();
->withPivot(['id', 'expire_at', 'status'])
->withTimestamps()
->orderByPivot('id', 'desc')
;
}
public function valid_medals(): \Illuminate\Database\Eloquent\Relations\BelongsToMany
@@ -331,6 +333,11 @@ class User extends Authenticatable
});
}
public function wearing_medals(): \Illuminate\Database\Eloquent\Relations\BelongsToMany
{
return $this->valid_medals()->where('user_medals.status', UserMedal::STATUS_WEARING);
}
public function getAvatarAttribute($value)
{
if ($value) {
+6 -1
View File
@@ -4,5 +4,10 @@ namespace App\Models;
class UserMedal extends NexusModel
{
protected $fillable = ['uid', 'medal_id', 'expire_at'];
protected $fillable = ['uid', 'medal_id', 'expire_at', 'status'];
const STATUS_NOT_WEARING = 0;
const STATUS_WEARING = 1;
}