Добавление индекса в 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