mirror of
https://github.com/jikan-me/jikan-rest.git
synced 2025-02-20 11:23:35 +08:00
Merge pull request #470 from jikan-me/hotfix/469-season-endpoint
🚑 Fixed missing items issue in seasons endpoint
This commit is contained in:
commit
68fbd0c2a1
@ -120,32 +120,34 @@ final class DefaultAnimeRepository extends DatabaseRepository implements AnimeRe
|
||||
?string $premiered = null
|
||||
): EloquentBuilder
|
||||
{
|
||||
// $queryable = $this->queryable(true)->whereBetween("aired.from", [
|
||||
// $from->toAtomString(),
|
||||
// $to->modify("last day of this month")->toAtomString()
|
||||
// ]);
|
||||
|
||||
/** @noinspection PhpParamsInspection */
|
||||
$queryable = $this->queryable(true);
|
||||
|
||||
if ($premiered !== null) {
|
||||
$queryable = $queryable
|
||||
->where("premiered", null)
|
||||
->orWhere("premiered", $premiered);
|
||||
}
|
||||
$airedFilter = ["aired.from" => [
|
||||
'$gte' => $from->toAtomString(),
|
||||
'$lte' => $to->modify("last day of this month")->toAtomString()
|
||||
]];
|
||||
|
||||
$queryable = $queryable
|
||||
->whereRaw([
|
||||
"aired.from" => [
|
||||
'$gte' => $from->toAtomString(),
|
||||
'$lte' => $to->modify("last day of this month")->toAtomString()
|
||||
]
|
||||
]);
|
||||
$finalFilter = [];
|
||||
|
||||
if ($premiered !== null) {
|
||||
$finalFilter['$or'] = [
|
||||
["premiered" => $premiered],
|
||||
[
|
||||
"premiered" => null,
|
||||
...$airedFilter
|
||||
]
|
||||
];
|
||||
} else {
|
||||
$finalFilter = array_merge($finalFilter, $airedFilter);
|
||||
}
|
||||
|
||||
if (!is_null($type)) {
|
||||
$queryable = $queryable->where("type", $type->label);
|
||||
$finalFilter["type"] = $type->label;
|
||||
}
|
||||
|
||||
$queryable = $queryable->whereRaw($finalFilter);
|
||||
|
||||
return $queryable->orderBy("members", "desc");
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user