37 lines
1017 B
PHP
37 lines
1017 B
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Enums\FlightStatus;
|
|
use App\Models\Flight;
|
|
use Illuminate\Http\Request;
|
|
|
|
class FlightController extends Controller
|
|
{
|
|
public function index(Request $request)
|
|
{
|
|
|
|
$sort = $request->query('sort', 'default');
|
|
$title = 'پروازها';
|
|
|
|
$flights = Flight::with(['airline', 'origin_airport.city', 'airport.city'])
|
|
->where('status', FlightStatus::AVAILABLE)
|
|
->filterFrom($request->input('from-destination'))
|
|
->filterTo($request->input('to-destination'))
|
|
->filterDepartureDate($request->input('journey-date'))
|
|
->applySort($sort)
|
|
->paginate(4)
|
|
->withQueryString();
|
|
|
|
return view('flights.index', compact('title', 'flights', 'sort'));
|
|
}
|
|
|
|
public function show(Flight $flight)
|
|
{
|
|
$title = 'جزئیات پرواز';
|
|
$flight = Flight::findOrFail($flight);
|
|
|
|
return view('flights.show' , compact('title' , 'flight'));
|
|
}
|
|
}
|