From 5314f5accb451d09b9ba82f4a5c885db3e88b1f8 Mon Sep 17 00:00:00 2001 From: Peter Deltchev Date: Mon, 15 Feb 2016 07:51:26 -0800 Subject: [PATCH] Fixed an n+1 query. --- app/Http/Controllers/Api/Web/TaxonomiesController.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/Web/TaxonomiesController.php b/app/Http/Controllers/Api/Web/TaxonomiesController.php index 029556ed..7c6de020 100644 --- a/app/Http/Controllers/Api/Web/TaxonomiesController.php +++ b/app/Http/Controllers/Api/Web/TaxonomiesController.php @@ -33,8 +33,10 @@ class TaxonomiesController extends ApiControllerBase { return \Response::json([ 'licenses' => License::all()->toArray(), - 'genres' => Genre::select('genres.*', - DB::raw('(SELECT COUNT(id) FROM tracks WHERE tracks.genre_id = genres.id AND tracks.published_at IS NOT NULL) AS track_count'))->orderBy('name')->get()->toArray(), + 'genres' => Genre::with('trackCountRelation') + ->orderBy('name') + ->get() + ->toArray(), 'track_types' => TrackType::select('track_types.*', DB::raw('(SELECT COUNT(id) FROM tracks WHERE tracks.track_type_id = track_types.id AND tracks.published_at IS NOT NULL) AS track_count')) ->where('id', '!=', TrackType::UNCLASSIFIED_TRACK)