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; } }