'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 () { return config('app.logo_api_url') . "/airline/$this->internal_name/logo/tail"; } ); } public function alliance(): BelongsTo { return $this->belongsTo(Alliance::class); } public function country(): BelongsTo { return $this->belongsTo(Country::class); } }