toSearchableArray () отправить одну и ту же строку 7 раз в Алголию?

Этот код получает один пост из БД, но отправляет его 7 раз в Алголию …

В базе 7 товаров

6 записей со статусом = ОПУБЛИКОВАНО

1 сообщение со статусом = ПРОЕКТ

public function toSearchableArray()
{
$array = Post::where('status', '=', static::PUBLISHED)->toArray();
return $array;
}

  Что я делаю неправильно ??

0

Решение

Тогда я нашел ответ на мой большой вопрос. Поле enum «PUBLISHED» стало истинным, а все остальное — ложным, так что теперь Алголия могла легко это выяснить 🙂

Это ответ:

$ properties = $ this-> toArray ();
$ properties [‘visible’] =
$ this-> status === ‘PUBLISHED’;

вернуть $ свойства;

🙂 и спокойной ночи

0

Другие решения

toSearchableArray вызывается для каждой записи. Если вы не хотите индексировать модель со статусом, установленным в DRAFT, вы можете вернуть пустой массив.

public function toSearchableArray()
{
if ($this->status === 'DRAFT') {
return [];
}

return $this->toArray();
}
0

По вопросам рекламы [email protected]