'datetime', 'tetanus_vaccination' => 'datetime', 'arrival_date' => 'datetime', 'departure_date' => 'datetime', 'unregistered_at' => 'datetime', 'foto_socialmedia' => 'boolean', 'foto_print' => 'boolean', 'foto_webseite' => 'boolean', 'foto_partner' => 'boolean', 'foto_intern' => 'boolean', 'amount' => AmountCast::class, 'amount_paid' => AmountCast::class, ]; /* |-------------------------------------------------------------------------- | Relationships |-------------------------------------------------------------------------- */ public function event() { return $this->belongsTo(Event::class); } public function user() { return $this->belongsTo(User::class); } public function tenantRelation() { return $this->belongsTo(Tenant::class, 'tenant', 'slug'); } public function localGroup() { return $this->belongsTo(Tenant::class, 'local_group', 'slug'); } public function participationType() { return $this->belongsTo(ParticipationType::class, 'participation_type', 'slug'); } public function swimmingPermission() { return $this->belongsTo(SwimmingPermission::class, 'swimming_permission', 'slug'); } public function eatingHabit() { return $this->belongsTo(EatingHabit::class, 'eating_habits', 'slug'); } public function firstAidPermission() { return $this->belongsTo(FirstAidPermission::class, 'first_aid_permission', 'slug'); } public function efzStatus() { return $this->belongsTo(EfzStatus::class, 'efz_status', 'slug'); } public function getOfficialName() : string { return sprintf('%1$s %2$s', $this->firstname, $this->lastname); } public function getFullname() : string { return sprintf('%1$1s %2$s %3$s', $this->firstname, $this->lastname, $this->nickname !== null ? '(' . $this->nickname . ')' : '', ) |>trim(...); } public function getNicename() : string { return $this->nickname ?? $this->firstname; } }