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

72 lines
1.4 KiB
PHP

<?php
namespace App\Models;
use App\Enums\DrawLogStatus;
use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
class DrawLog extends Model
{
use HasDateTimeFormatter;
/**
* @var array
*/
protected $attributes = [
'status' => DrawLogStatus::Pending,
];
/**
* @var array
*/
protected $casts = [
'status' => DrawLogStatus::class,
];
/**
* @var array
*/
protected $fillable = [
'user_id',
'draw_activity_id',
'draw_activity_prize_id',
'consignee_name',
'consignee_phone',
'consignee_address',
'remark',
'status',
];
public function scopeQueuing(Builder $builder): Builder
{
return $builder->where('status', DrawLogStatus::Queuing);
}
public function user()
{
return $this->belongsTo(User::class, 'user_id');
}
public function userInfo()
{
return $this->belongsTo(UserInfo::class, 'user_id', 'user_id');
}
public function activity()
{
return $this->belongsTo(DrawActivity::class, 'draw_activity_id');
}
public function prize()
{
return $this->belongsTo(DrawActivityPrize::class, 'draw_activity_prize_id');
}
public function isPending()
{
return $this->status === DrawLogStatus::Pending;
}
}