diff --git a/app/Enums/FlightStatus.php b/app/Enums/FlightStatus.php new file mode 100644 index 0000000..b402f57 --- /dev/null +++ b/app/Enums/FlightStatus.php @@ -0,0 +1,13 @@ + 'int', - 'origin_airport_id' => 'int', - 'destination_airport_id' => 'int', - 'departure_time' => 'datetime', - 'price' => 'int', - 'capacity' => 'int', - 'status' => 'int' - ]; + protected $casts = [ + 'airline_id' => 'int', + 'origin_airport_id' => 'int', + 'destination_airport_id' => 'int', + 'file_id' => 'int', + 'departure_time' => 'datetime', + 'price' => 'int', + 'capacity' => 'int', + 'status' => FlightStatus::class, + 'trip_type' => FlightTripType::class + ]; - protected $fillable = [ - 'airline_id', - 'origin_airport_id', - 'destination_airport_id', - 'flight_number', - 'departure_time', - 'price', - 'capacity', - 'status' - ]; + protected $fillable = [ + 'airline_id', + 'origin_airport_id', + 'destination_airport_id', + 'file_id', + 'flight_number', + 'departure_time', + 'price', + 'capacity', + 'status', + 'trip_type' + ]; - public function airline() - { - return $this->belongsTo(Airline::class); - } + public function airline() + { + return $this->belongsTo(Airline::class); + } - public function airport() - { - return $this->belongsTo(Airport::class, 'destination_airport_id'); - } + public function origin_airport() + { + return $this->belongsTo(Airport::class, 'origin_airport_id'); + } - public function bookings() - { - return $this->hasMany(Booking::class); - } + public function airport() + { + return $this->belongsTo(Airport::class, 'destination_airport_id'); + } - public function tours() - { - return $this->hasMany(Tour::class, 'file_id'); - } + public function file() + { + return $this->belongsTo(File::class); + } + + public function bookings() + { + return $this->hasMany(Booking::class); + } + + public function tours() + { + return $this->hasMany(Tour::class, 'file_id'); + } }