74 lines
1.6 KiB
PHP
74 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|
|
|
class UserFlight extends Model
|
|
{
|
|
protected $table = 'user_flights';
|
|
|
|
protected $fillable = [
|
|
'user_id',
|
|
'departure_date',
|
|
'arrival_date',
|
|
'flight_number',
|
|
'departure_airport_id',
|
|
'arrival_airport_id',
|
|
'airline_id',
|
|
'aircraft_id',
|
|
'aircraft_registration',
|
|
'seat_number',
|
|
'seat_type_id',
|
|
'flight_class_id',
|
|
'flight_reason_id',
|
|
'note',
|
|
];
|
|
|
|
protected $casts = [
|
|
'departure_date' => 'immutable_datetime',
|
|
'arrival_date' => 'immutable_datetime',
|
|
];
|
|
|
|
public function user(): BelongsTo
|
|
{
|
|
return $this->belongsTo(User::class);
|
|
}
|
|
|
|
public function departureAirport(): BelongsTo
|
|
{
|
|
return $this->belongsTo(Airport::class, 'departure_airport_id');
|
|
}
|
|
|
|
public function arrivalAirport(): BelongsTo
|
|
{
|
|
return $this->belongsTo(Airport::class, 'arrival_airport_id');
|
|
}
|
|
|
|
public function airline(): BelongsTo
|
|
{
|
|
return $this->belongsTo(Airline::class);
|
|
}
|
|
|
|
public function aircraft(): BelongsTo
|
|
{
|
|
return $this->belongsTo(Aircraft::class);
|
|
}
|
|
|
|
public function seatType(): BelongsTo
|
|
{
|
|
return $this->belongsTo(SeatType::class);
|
|
}
|
|
|
|
public function flightClass(): BelongsTo
|
|
{
|
|
return $this->belongsTo(FlightClass::class);
|
|
}
|
|
|
|
public function flightReason(): BelongsTo
|
|
{
|
|
return $this->belongsTo(FlightReason::class);
|
|
}
|
|
}
|