'int', 'departure_airport_id' => 'int', 'airline_id' => 'int', 'file_id' => 'int', 'flight_type' =>FlightType::class, 'departure_time' => 'datetime', 'price' => 'float', 'capacity' => 'int', 'views' => 'int', 'status' => FlightStatus::class, ]; protected $fillable = [ 'arrival_aiport_id', 'departure_airport_id', 'airline_id', 'file_id', 'title', 'summary', 'views', 'flight_type', 'departure_time', 'price', 'capacity', 'status' ]; public function airline() { return $this->belongsTo(Airline::class); } public function departureAirport() { return $this->belongsTo(Airport::class, 'departure_airport_id'); } public function arrivalAirport() { return $this->belongsTo(Airport::class, 'arrival_aiport_id'); } public function file() { return $this->belongsTo(File::class); } public function bookings() { return $this->hasMany(Booking::class); } public function comments() { return $this->hasMany(Comment::class) ->where('status', 1) ->latest(); } public function favorites() { return $this->hasMany(Favorite::class); } #[Scope] protected function applyFilter(Builder $query): void { $request = request(); if ($request->filled('flight_type')) { $query->where('flight_type', $request->input('flight_type')); } } }