From 9cc18eb82acb46d2d8da22c66d12e55c192dbdb8 Mon Sep 17 00:00:00 2001 From: Daniel Mason Date: Wed, 5 Jan 2022 19:41:32 +1300 Subject: [PATCH] Fix for firstOrCreate failing hashtags with case differences on name --- app/Jobs/StatusPipeline/StatusEntityLexer.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/Jobs/StatusPipeline/StatusEntityLexer.php b/app/Jobs/StatusPipeline/StatusEntityLexer.php index a64ca7602..1c5b172b6 100644 --- a/app/Jobs/StatusPipeline/StatusEntityLexer.php +++ b/app/Jobs/StatusPipeline/StatusEntityLexer.php @@ -107,9 +107,13 @@ class StatusEntityLexer implements ShouldQueue } DB::transaction(function () use ($status, $tag) { $slug = str_slug($tag, '-', false); - $hashtag = Hashtag::firstOrCreate( - ['name' => $tag, 'slug' => $slug] - ); + $hashtag = Hashtag::where('slug', $slug)->first(); + if (!$hashtag) { + $hashtag = Hashtag::create( + ['name' => $tag, 'slug' => $slug] + ); + } + StatusHashtag::firstOrCreate( [ 'status_id' => $status->id,