From 0b22814cdb3ccefee5092684a2e416e36dfd73f9 Mon Sep 17 00:00:00 2001 From: Christopher Pitt Date: Sun, 12 Jul 2020 10:49:51 +0200 Subject: [PATCH] Allow filter posts by tag (slug) --- src/WinkPost.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/WinkPost.php b/src/WinkPost.php index f8689ab2..c5d32f25 100644 --- a/src/WinkPost.php +++ b/src/WinkPost.php @@ -169,6 +169,20 @@ public function scopeAfterPublishDate($query, $date) return $query->where('publish_date', '>', $date); } + /** + * Scope a query to only include posts that have a specific tag (by slug). + * + * @param \Illuminate\Database\Eloquent\Builder $query + * @param string $slug + * @return \Illuminate\Database\Eloquent\Builder + */ + public function scopeTag($query, string $slug) + { + return $query->whereHas('tags', function ($query) use ($slug) { + $query->where('slug', $slug); + }); + } + /** * Prepare a date for array / JSON serialization. *