displayNameFieldName = "name"; } /** @noinspection PhpUnused */ public function filterByCategory(\Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder $query, ClubCategoryEnum $value): \Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder { return $query->where("category", $value->label); } /** @noinspection PhpUnused */ public function filterByType(\Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder $query, ClubTypeEnum $value): \Laravel\Scout\Builder|\Illuminate\Database\Eloquent\Builder { return $query->where("access", $value->label); } /** @noinspection PhpUnused */ public function getImagesAttribute() { return $this->attributes['images']; } public static function scrape(int $id) { $data = app('JikanParser')->getClub(new ClubRequest($id)); return json_decode( app('SerializerV4') ->serialize($data, 'json'), true ); } public function toSearchableArray(): array { return [ 'id' => (string) $this->mal_id, 'mal_id' => (int) $this->mal_id, 'name' => $this->name, 'category' => $this->category, 'created' => $this->convertToTimestamp($this->created), 'access' => $this->type, 'members' => $this->members ]; } public function typesenseQueryBy(): array { return ['name']; } public function getTitleAttributeName(): string { return 'name'; } }