'入住缴费',
self::TYPE_CONTINUE => '续住缴费',
self::TYPE_EXIT => '离开结算',
];
}
public static function typeMapLabel()
{
return [
self::TYPE_IN => "入住缴费",
self::TYPE_CONTINUE => "续住缴费",
self::TYPE_EXIT => "离开结算",
'*'=>'其他:${live_in}'
];
}
protected $appends = ['idsn'];
protected $casts = [
'extends' => 'array',
];
protected $fillable = [
'oldman_id', 'const_type', 'money', 'extends', 'start_at', 'end_at',
'change_lv', 'old_lv', 'new_lv',
'state', 'sn', 'adminuser_id',
];
protected static function boot()
{
parent::boot();
// 监听 flow 创建事件,创建sn;
static::creating(function ($oldmen) {
$oldmen->sn = self::createSn();
});
}
public function idsn():Attribute
{
return Attribute::make(
get: fn($value) => str_pad($this->id, 6, '0',STR_PAD_LEFT),
);
}
public function oldman(){
return $this->belongsTo(Oldmen::class, 'oldman_id');
}
public function adminuser(){
return $this->belongsTo(AdminUser::class, 'adminuser_id');
}
private static function createSn()
{
return Carbon::now()->isoFormat('YYMMDDHHmmss').rand(1000, 9999);
}
}