<?php namespace App\Models; use Auth; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\SoftDeletes; /** * 邀请码 */ class Invite extends Model { use SoftDeletes; protected $table = 'invite'; protected $dates = ['dateline', 'deleted_at']; protected $guarded = []; public function scopeUid($query) { return $query->whereInviterId(Auth::id()); } public function inviter(): BelongsTo { return $this->belongsTo(User::class); } public function invitee(): BelongsTo { return $this->belongsTo(User::class); } public function getStatusLabelAttribute(): string { switch ($this->attributes['status']) { case 0: $status_label = '<span class="badge badge-success">'.trans('user.status.unused').'</span>'; break; case 1: $status_label = '<span class="badge badge-danger">'.trans('user.status.used').'</span>'; break; case 2: $status_label = '<span class="badge badge-default">'.trans('user.status.expired').'</span>'; break; default: $status_label = '<span class="badge badge-default"> 未知 </span>'; } return $status_label; } }