Merge pull request #306 from jikan-me/hotfix/genres

Hotfix: Search: genres & genres_exclude
This commit is contained in:
Irfan 2022-11-29 01:10:24 +05:00 committed by GitHub
commit c46b11a81f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -48,12 +48,18 @@ abstract class MediaSearchQueryBuilder extends SearchQueryBuilder
private function filterByGenre(\Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder $builder, int $genre, $exclude = false): \Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder
{
return $builder->where(function ($query) use ($genre, $exclude) {
$operator = $exclude ? '!=' : null;
return $query
->whereOr('genres.mal_id', $operator, $genre)
->whereOr('demographics.mal_id', $operator, $genre)
->whereOr('themes.mal_id', $operator, $genre)
->whereOr('explicit_genres.mal_id', $operator, $genre);
return $exclude ?
$query
->orWhere('genres.mal_id', $genre)
->orWhere('demographics.mal_id', $genre)
->orWhere('themes.mal_id', $genre)
->orWhere('explicit_genres.mal_id', $genre)
:
$query
->where('genres.mal_id', '!=', $genre)
->where('demographics.mal_id', '!=', $genre)
->where('themes.mal_id', '!=', $genre)
->where('explicit_genres.mal_id', '!=', $genre);
});
}