'boolean', ]; public $timestamps = false; protected $appends = [ 'display_name', 'logo_url', ]; protected function displayName() : Attribute{ return Attribute::make( get: function () { $codes = array_filter([$this->iata_code, $this->icao_code]); $codeString = count($codes) ? ' (' . implode('/', $codes) . ')' : ''; return "{$this->name}{$codeString}"; } ); } protected function logoUrl() : Attribute{ return Attribute::make( get: function () { $user = auth()->user(); $apiUrl = config('app.logo_api_url'); if ($user && !$user->getSetting('ai_tail_logos')) { return $apiUrl .'/airline/blank/logo/tail'; } return $apiUrl . "/airline/$this->internal_name/logo/tail"; } ); } public function alliance(): BelongsTo { return $this->belongsTo(Alliance::class); } public function country(): BelongsTo { return $this->belongsTo(Country::class); } }