From 734e09915450efbaaf1a07a707800570531d9338 Mon Sep 17 00:00:00 2001 From: pushrbx Date: Tue, 23 Jan 2024 18:22:51 +0000 Subject: [PATCH] fixed #481 --- app/Repositories/DefaultAnimeRepository.php | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/Repositories/DefaultAnimeRepository.php b/app/Repositories/DefaultAnimeRepository.php index 23a9806..e337182 100644 --- a/app/Repositories/DefaultAnimeRepository.php +++ b/app/Repositories/DefaultAnimeRepository.php @@ -130,16 +130,25 @@ final class DefaultAnimeRepository extends DatabaseRepository implements AnimeRe $finalFilter = []; + // if the premiered parameter for the filter is not null, look for those items which have a premiered attribute set, + // and equals to the parameter value, OR look for those items which doesn't have premired attribute set, + // they don't have a garbled aired string and their aired.from date is within the from-to parameters range if ($premiered !== null) { $finalFilter['$or'] = [ ["premiered" => $premiered], [ "premiered" => null, + "aired.string" => [ + '$not' => ['$regex' => "{$from->year} to ?"] + ], ...$airedFilter ] ]; } else { $finalFilter = array_merge($finalFilter, $airedFilter); + $finalFilter["aired.string"] = [ + '$not' => ['$regex' => "{$from->year} to ?"] + ]; } if (!is_null($type)) {