Algolia 不断将 tmy 数据转换为字符串

Algolia keeps casting tmy data to a string

我已成功使用 laravel 将我的数据上传到 algolia。我的创建方法如下所示:

Beer::firstOrCreate([
    'name' => $beer['title'],
    'description' => $beer['description'],
    'path' => '/uploads/gall/' . $filename,
    'brewery_id' => '',
    'abv' => $abv
]);

它从 api 收集数据并且工作完美,除了 abv 值。它需要是 algolia 中的数字类型,但每当我在 algolia 中检查它时,它都是一个字符串。

即使我使用以下命令将其强制为浮点数或整数:

(float)$abv

我的 Algolia 数据库中仍然有一个字符串。有趣的是,自动递增的这条记录的主 ID 不是字符串,在 algolia 数据库中看起来很好。

为了在 laravel 中实现 algolia,我在我的模型中使用了 laravel 助手:

// Send new records to the algolia database
use AlgoliaEloquentTrait;

我希望有人能给我一点提示,指出我可能做错了什么。

我假设您数据库中 'abv' 的数据类型是 float 而不是字符串 ,如果是这种情况,请尝试使用 floatval($abv) .您的代码类似于:

Beer::firstOrCreate([
    'name' => $beer['title'],
    'description' => $beer['description'],
    'path' => '/uploads/gall/' . $filename,
    'brewery_id' => '',
    'abv' => floatval($abv)
]);

干杯,