Этот код получает один пост из БД, но отправляет его 7 раз в Алголию …
В базе 7 товаров
6 записей со статусом = ОПУБЛИКОВАНО
1 сообщение со статусом = ПРОЕКТ
public function toSearchableArray()
{
$array = Post::where('status', '=', static::PUBLISHED)->toArray();
return $array;
}
Что я делаю неправильно ??
Тогда я нашел ответ на мой большой вопрос. Поле enum «PUBLISHED» стало истинным, а все остальное — ложным, так что теперь Алголия могла легко это выяснить 🙂
Это ответ:
$ properties = $ this-> toArray ();
$ properties [‘visible’] =
$ this-> status === ‘PUBLISHED’;вернуть $ свойства;
🙂 и спокойной ночи
toSearchableArray
вызывается для каждой записи. Если вы не хотите индексировать модель со статусом, установленным в DRAFT, вы можете вернуть пустой массив.
public function toSearchableArray()
{
if ($this->status === 'DRAFT') {
return [];
}
return $this->toArray();
}