mirror of
https://github.com/jikan-me/jikan-rest.git
synced 2025-02-20 11:23:35 +08:00
Merge pull request #306 from jikan-me/hotfix/genres
Hotfix: Search: genres & genres_exclude
This commit is contained in:
commit
c46b11a81f
@ -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
|
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) {
|
return $builder->where(function ($query) use ($genre, $exclude) {
|
||||||
$operator = $exclude ? '!=' : null;
|
return $exclude ?
|
||||||
return $query
|
$query
|
||||||
->whereOr('genres.mal_id', $operator, $genre)
|
->orWhere('genres.mal_id', $genre)
|
||||||
->whereOr('demographics.mal_id', $operator, $genre)
|
->orWhere('demographics.mal_id', $genre)
|
||||||
->whereOr('themes.mal_id', $operator, $genre)
|
->orWhere('themes.mal_id', $genre)
|
||||||
->whereOr('explicit_genres.mal_id', $operator, $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);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -65,7 +71,7 @@ abstract class MediaSearchQueryBuilder extends SearchQueryBuilder
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$genre = (int)$genre;
|
$genre = (int) $genre;
|
||||||
|
|
||||||
$builder = $this->filterByGenre($builder, $genre, $exclude);
|
$builder = $this->filterByGenre($builder, $genre, $exclude);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user