36 lines
1.1 KiB
PHP
36 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Flight;
|
|
use Carbon\Carbon;
|
|
use Illuminate\Http\Request;
|
|
|
|
class FlightController extends Controller
|
|
{
|
|
public function index(Request $request)
|
|
{
|
|
$flights = Flight::query()
|
|
->with(['airline', 'airport', 'destinationAirport'])
|
|
->latest()
|
|
->paginate(4)
|
|
->appends($request->query());
|
|
|
|
$flights->each(function ($flight) {
|
|
$minutes = Carbon::parse($flight->start_time)->diffInMinutes(Carbon::parse($flight->end_time));
|
|
|
|
$flight->duration_hours = intdiv($minutes, 60);
|
|
$flight->duration_minutes = $minutes % 60;
|
|
|
|
$flight->start_time_fa = verta($flight->start_time)->format('%H:%M');
|
|
$flight->end_time_fa = verta($flight->end_time)->format('%H:%M');
|
|
$flight->full_date_fa = verta($flight->start_time)->format('%A, %d %B, %Y');
|
|
$flight->end_date_fa = verta($flight->end_time)->format('%A, %d %B, %Y');
|
|
});
|
|
|
|
return view('flights.index', compact('flights'));
|
|
}
|
|
|
|
|
|
}
|