Я успешно загрузил свои данные в Алголию с помощью laravel. Мой метод создания выглядит так:
Beer::firstOrCreate([
'name' => $beer['title'],
'description' => $beer['description'],
'path' => '/uploads/gall/' . $filename,
'brewery_id' => '',
'abv' => $abv
]);
Он собирает данные из API и работает отлично, за исключением значения abv. Это должен быть числовой тип в Алголии, но всякий раз, когда я проверяю его в Алголии, это строка.
Даже когда я заставляю его плавать или int с помощью:
(float)$abv
Я все еще получаю строку в моей базе данных Algolia. Как ни странно, основной идентификатор для этой записи, которая автоматически увеличивается, не является строкой и прекрасно выглядит в базе данных algolia.
Для реализации Алголии в Laravel я использовал помощник Laravel в моей модели:
// Send new records to the algolia database
use AlgoliaEloquentTrait;
Я надеюсь, что кто-то может дать мне небольшой намек на то, что я могу делать неправильно.
Я предполагаю, что тип данных ‘abv’ внутри вашей базы данных плавать а не строка, если это так, попробуйте использовать floatval($abv)
, Ваш код будет что-то вроде:
Beer::firstOrCreate([
'name' => $beer['title'],
'description' => $beer['description'],
'path' => '/uploads/gall/' . $filename,
'brewery_id' => '',
'abv' => floatval($abv)
]);
Приветствия ,,
Других решений пока нет …