Files
ProxyPanel/app/Models/Invite.php
兔姬桑 71828a0ac5 数据库改版 +Rule 编辑相关 (Rule未实际应用)
1. 规范化数据库数据;
2. 添加Rule相关页面
为未来加入web api做准备
2020-08-05 03:20:33 +08:00

83 lines
2.9 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
namespace App\Models;
use Auth;
use Eloquent;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Database\Query\Builder;
use Illuminate\Support\Carbon;
/**
* 邀请码
*
* @property int $id
* @property int $uid 邀请人ID
* @property int $fuid 受邀人ID
* @property string $code 邀请码
* @property int $status 邀请码状态0-未使用、1-已使用、2-已过期
* @property string|null $dateline 有效期至
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
* @property Carbon|null $deleted_at 删除时间
* @property-read User|null $generator
* @property-read mixed $status_label
* @property-read User|null $user
* @method static \Illuminate\Database\Eloquent\Builder|Invite newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|Invite newQuery()
* @method static Builder|Invite onlyTrashed()
* @method static \Illuminate\Database\Eloquent\Builder|Invite query()
* @method static \Illuminate\Database\Eloquent\Builder|Invite uid()
* @method static \Illuminate\Database\Eloquent\Builder|Invite whereCode($value)
* @method static \Illuminate\Database\Eloquent\Builder|Invite whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|Invite whereDateline($value)
* @method static \Illuminate\Database\Eloquent\Builder|Invite whereDeletedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|Invite whereFuid($value)
* @method static \Illuminate\Database\Eloquent\Builder|Invite whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|Invite whereStatus($value)
* @method static \Illuminate\Database\Eloquent\Builder|Invite whereUid($value)
* @method static \Illuminate\Database\Eloquent\Builder|Invite whereUpdatedAt($value)
* @method static Builder|Invite withTrashed()
* @method static Builder|Invite withoutTrashed()
* @mixin Eloquent
*/
class Invite extends Model {
use SoftDeletes;
protected $table = 'invite';
protected $primaryKey = 'id';
protected $dates = ['deleted_at'];
function scopeUid($query) {
return $query->whereUid(Auth::id());
}
function generator() {
return $this->hasOne(User::class, 'id', 'uid');
}
function user() {
return $this->hasOne(User::class, 'id', 'fuid');
}
function getStatusLabelAttribute() {
switch($this->attributes['status']){
case 0:
$status_label = '<span class="badge badge-success">'.trans('home.invite_code_table_status_un').'</span>';
break;
case 1:
$status_label = '<span class="badge badge-danger">'.trans('home.invite_code_table_status_yes').'</span>';
break;
case 2:
$status_label = '<span class="badge badge-default">'.trans('home.invite_code_table_status_expire').'</span>';
break;
default:
$status_label = '<span class="badge badge-default"> 未知 </span>';
}
return $status_label;
}
}