diff --git a/app/Http/Controllers/Articles/ArticlesController.php b/app/Http/Controllers/Articles/ArticlesController.php index 6da01b3d0..fd9e30842 100644 --- a/app/Http/Controllers/Articles/ArticlesController.php +++ b/app/Http/Controllers/Articles/ArticlesController.php @@ -42,7 +42,7 @@ public function index(Request $request) ->get(); $articles = Article::published() - ->notPinned() + ->notPinned($pinnedArticles) ->{$filter}(); $tags = Tag::whereHas('articles', function ($query) { diff --git a/app/Models/Article.php b/app/Models/Article.php index 4f9aa86b7..f38b5696d 100644 --- a/app/Models/Article.php +++ b/app/Models/Article.php @@ -260,9 +260,9 @@ public function scopePinned(Builder $query): Builder return $query->where('is_pinned', true); } - public function scopeNotPinned(Builder $query): Builder + public function scopeNotPinned(Builder $query, Collection $pinnedArticles): Builder { - return $query->where('is_pinned', false); + return $query->whereNotIn('id', $pinnedArticles->pluck('id')); } public function scopeShared(Builder $query): Builder