【问题标题】:Algolia keeps casting tmy data to a stringAlgolia 不断将 tmy 数据转换为字符串
【发布时间】:2016-01-12 12:17:35
【问题描述】:

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

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

【问题讨论】:

    标签: php laravel laravel-5.1 algolia


    【解决方案1】:

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

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

    干杯,,

    【讨论】:

    • 我检查了我的值,它似乎被转换为我代码中某处的字符串,因为我使用 gettype 检查了它。我现在只是将 $abv 值转换为浮点值,但我仍然需要检查它哪里出错了。感谢您的观看!
    猜你喜欢
    • 2018-06-27
    • 1970-01-01
    • 2015-10-29
    • 2015-11-21
    • 2013-10-26
    • 2018-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多