6
0
Fork 0
jiqu-library-server/app/Models/Vip.php

57 lines
1.3 KiB
PHP

<?php
namespace App\Models;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use App\Casts\JsonArray;
use Illuminate\Database\Eloquent\Builder;
class Vip extends Model
{
use HasFactory, HasDateTimeFormatter;
const TIME_YEAR = 'year';
const TIME_MONTH = 'month';
const TIME_DAY = 'day';
const STATUS_ENABLE = 1;
const STATUS_DISABLE = 0;
protected $fillable = ['name', 'times', 'sort', 'status', 'gift', 'price', 'description'];
protected $casts = [
'times' => 'json',
'gift' => 'json'
];
public static $timeMap = [
self::TIME_YEAR => '年',
self::TIME_MONTH => '月',
self::TIME_DAY => '天',
];
public static $statusMap = [
self::STATUS_ENABLE => '可用',
self::STATUS_DISABLE => '不可用'
];
protected static function booted()
{
static::addGlobalScope('sort', function (Builder $builder) {
$builder->orderBy('sort', 'asc');
});
}
public function users()
{
return $this->belongsToMany(User::class, 'user_vips', 'vip_id', 'user_id');
}
public function hasUser()
{
return $this->users()->exists();
}
}