1

我已成功使用 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;

我希望有人能给我一点暗示我可能做错了什么。

4

1 回答 1

1

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

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

干杯,,

于 2016-01-12T04:17:35.963 回答