phpvms/app/Http/Controllers/Frontend/AirportController.php

66 lines
1.7 KiB
PHP
Raw Normal View History

<?php
namespace App\Http\Controllers\Frontend;
use App\Contracts\Controller;
use App\Repositories\AirportRepository;
use App\Repositories\FlightRepository;
use Flash;
use Request;
/**
* Class HomeController
*/
class AirportController extends Controller
{
2018-08-27 00:40:04 +08:00
private $airportRepo;
private $flightRepo;
public function __construct(
AirportRepository $airportRepo,
FlightRepository $flightRepo
) {
$this->airportRepo = $airportRepo;
$this->flightRepo = $flightRepo;
}
/**
* Show the airport
2018-08-27 00:40:04 +08:00
*
* @param mixed $id
2018-08-27 02:50:08 +08:00
*
* @return mixed
* @return \Illuminate\Contracts\View\Factory|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Illuminate\View\View
*/
public function show($id, Request $request)
{
$id = strtoupper($id);
$airport = $this->airportRepo->where('id', $id)->first();
if (!$airport) {
Flash::error('Airport not found!');
return redirect(route('frontend.dashboard.index'));
}
2018-08-26 21:43:47 +08:00
$inbound_flights = $this->flightRepo
->with(['dpt_airport', 'arr_airport', 'airline'])
->findWhere([
'arr_airport_id' => $id,
'active' => 1,
2018-08-26 21:43:47 +08:00
])->all();
$outbound_flights = $this->flightRepo
->with(['dpt_airport', 'arr_airport', 'airline'])
->findWhere([
'dpt_airport_id' => $id,
'active' => 1,
2018-08-26 21:43:47 +08:00
])->all();
return view('airports.show', [
2018-08-27 00:40:04 +08:00
'airport' => $airport,
'inbound_flights' => $inbound_flights,
'outbound_flights' => $outbound_flights,
]);
}
}