Добавление индекса в Laravel Scout условно (Алголия)

Я пытаюсь добавить индекс в Алголию, используя Laravel Scout, основываясь на условии. Например, у меня есть Article модель, и я хочу добавить эту статью в Алголию, только если статья active, Мой первый подход был такой:

public function toSearchableArray()
{
   if($this->active) return $record;
   return [];

}

это только добавляет активные записи, но все еще пытается добавить пустые массивы, которые рассматриваются как Операция в Алголии (я буду платить за это). Второй подход заключался в использовании shouldBesearchable() функция от разведчика:

public function shouldBeSearchable()
{
    if($this->active) return true;
    return false;

}

Это не работает с php artisan scout:import "App\Article", Кто-нибудь сталкивался с подобной проблемой?

1 ответ

Решение

Это была ошибка в Laravel Scout, shouldBeSearchable еще не выпущен (в основной ветке), поэтому вы можете столкнуться с такой проблемой, как эта.

Хотя, хорошие новости: это было исправлено этим пиаром. https://github.com/laravel/scout/pull/250

Другие вопросы по тегам