'入住缴费', 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); } }