From 00c32360ae1c5d1220d54d472879056d9a6f9314 Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Mon, 6 Sep 2021 01:41:24 -0600 Subject: [PATCH] Update StoryController, fix postgres bug. Fixes #2904 --- app/Http/Controllers/StoryController.php | 29 ++++++++++++++++++------ 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/StoryController.php b/app/Http/Controllers/StoryController.php index a4e85c11d..e35595a48 100644 --- a/app/Http/Controllers/StoryController.php +++ b/app/Http/Controllers/StoryController.php @@ -36,13 +36,28 @@ class StoryController extends StoryComposeController abort_if(!config_cache('instance.stories.enabled') || !$request->user(), 404); $pid = $request->user()->profile_id; - $s = Story::select('stories.*', 'followers.following_id') - ->leftJoin('followers', 'followers.following_id', 'stories.profile_id') - ->where('followers.profile_id', $pid) - ->where('stories.active', true) - ->groupBy('followers.following_id') - ->orderByDesc('id') - ->get(); + if(config('database.default') == 'pgsql') { + $s = Story::select('stories.*', 'followers.following_id') + ->leftJoin('followers', 'followers.following_id', 'stories.profile_id') + ->where('followers.profile_id', $pid) + ->where('stories.active', true) + ->get() + ->map(function($s) { + $r = new \StdClass; + $r->id = $s->id; + $r->profile_id = $s->profile_id; + return $r; + }) + ->unique('profile_id'); + } else { + $s = Story::select('stories.*', 'followers.following_id') + ->leftJoin('followers', 'followers.following_id', 'stories.profile_id') + ->where('followers.profile_id', $pid) + ->where('stories.active', true) + ->groupBy('followers.following_id') + ->orderByDesc('id') + ->get(); + } $res = $s->map(function($s) use($pid) { $profile = AccountService::get($s->profile_id);