Files

68 lines
1.3 KiB
PHP
Raw Permalink Normal View History

<?php
/**
* 文件功能:节日福利领取记录模型
*
* 记录每个用户对每次节日活动的领取信息,保证一人只能领取一次。
*
* @author ChatRoom Laravel
*
* @version 1.0.0
*/
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
/**
* 类功能:记录用户在某个节日福利发放批次中的领取状态。
*/
class HolidayClaim extends Model
{
public $timestamps = false;
protected $fillable = [
'event_id',
'run_id',
'user_id',
'amount',
'claimed_at',
];
/**
* 属性类型转换。
*/
protected function casts(): array
{
return [
'claimed_at' => 'datetime',
'amount' => 'integer',
];
}
/**
* 关联节日活动。
*/
public function event(): BelongsTo
{
return $this->belongsTo(HolidayEvent::class, 'event_id');
}
/**
* 关联所属发放批次。
*/
public function run(): BelongsTo
{
return $this->belongsTo(HolidayEventRun::class, 'run_id');
}
/**
* 关联领取用户。
*/
public function user(): BelongsTo
{
return $this->belongsTo(User::class);
}
}