Eager loading update for frontend controllers and widgets (#1348)
* Update AirportController.php Eager load `files` * Update DashboardController.php Eager load `journal` for user , and `aircraft, arr_airport, comments, dpt_airport` for last_pirep. * Update FlightController.php Eager load + `alt_airport, subfleets` (with their airlines) for flights and `current_airport` for user (though current_airport can be removed and we can base the in blade checks on `$user->curr_airport_id` to reduce db reads and model loading) * Update HomeController.php Eager load `home_airport` for users * Update PirepController.php Eager load `airline, aircraft, fares, transactions, dpt_airport, arr_airport, comments, simbrief, user with rank` for pirep details * Update ProfileController.php Eager load `airline, awards, current_airport, fields.field, home_airport, last_pirep, rank` for user * Update UserController.php Eager load `airline, current_airport, fields.field, home_airport, rank` for users and count `awards` * Update AirportController.php * Update DashboardController.php * Update PirepController.php * Update ProfileController.php * Update LatestNews.php Eager load `user` for news * Update LatestPilots.php Eager load `home_airport` for latest users * StyleFix 1 * StlyeFix 1.5 * Update SimBriefController.php Eager load airline with flight * Update SimBriefController.php * Update SimBriefController.php
This commit is contained in:
@@ -88,6 +88,7 @@ class FlightController extends Controller
|
||||
|
||||
/** @var \App\Models\User $user */
|
||||
$user = Auth::user();
|
||||
$user->loadMissing('current_airport');
|
||||
|
||||
if (setting('pilots.restrict_to_company')) {
|
||||
$where['airline_id'] = $user->airline_id;
|
||||
@@ -127,9 +128,11 @@ class FlightController extends Controller
|
||||
|
||||
$flights = $this->flightRepo->searchCriteria($request)
|
||||
->with([
|
||||
'dpt_airport',
|
||||
'arr_airport',
|
||||
'airline',
|
||||
'alt_airport',
|
||||
'arr_airport',
|
||||
'dpt_airport',
|
||||
'subfleets.airline',
|
||||
'simbrief' => function ($query) use ($user) {
|
||||
$query->where('user_id', $user->id);
|
||||
}, ])
|
||||
@@ -215,7 +218,19 @@ class FlightController extends Controller
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$flight = $this->flightRepo->find($id);
|
||||
$user_id = Auth::id();
|
||||
$with_flight = [
|
||||
'airline',
|
||||
'alt_airport',
|
||||
'arr_airport',
|
||||
'dpt_airport',
|
||||
'subfleets.airline',
|
||||
'simbrief' => function ($query) use ($user_id) {
|
||||
$query->where('user_id', $user_id);
|
||||
},
|
||||
];
|
||||
|
||||
$flight = $this->flightRepo->with($with_flight)->find($id);
|
||||
if (empty($flight)) {
|
||||
Flash::error('Flight not found!');
|
||||
return redirect(route('frontend.dashboard.index'));
|
||||
@@ -224,7 +239,7 @@ class FlightController extends Controller
|
||||
$map_features = $this->geoSvc->flightGeoJson($flight);
|
||||
|
||||
// See if the user has a bid for this flight
|
||||
$bid = Bid::where(['user_id' => Auth::id(), 'flight_id' => $flight->id])->first();
|
||||
$bid = Bid::where(['user_id' => $user_id, 'flight_id' => $flight->id])->first();
|
||||
|
||||
return view('flights.show', [
|
||||
'flight' => $flight,
|
||||
|
||||
Reference in New Issue
Block a user