Laravel付款ID错误存储

问题描述 投票:0回答:2

我正在集成一个支付网关。在localhost上,一切正常,我向付款提供商提出请求,并得到带有订单ID的响应作为回报。当我现在移到实时服务器时,将鼠标悬停在DB上而不是诸如3104632297之类的订单ID上,而将诸如-1190334960之类的巨大负值存储在数据库中。

对于代码部分,这里没有大的魔力。这是我更新订单的部分。:

$order->update([
    'order_id' => $response->json['id'],
]);

return $response;

我还调试了来自网关的值,它们实际上是正确的。

有人知道什么地方可能出问题了吗?手动将负值更改为适当的ID后,它可以正常工作,因此我根本无法获得它。

laravel payment-gateway
2个回答
1
投票

请更新表中的order_id的Type

如果只期望数字,则使用Type = BIGINTAttributes = UNSIGNED。如果order_id也包含字符,则指定长度的简单VARCHAR(40)就足够了。


0
投票

只需更改表列定义为VARCHAR(as_your_id_length)

© www.soinside.com 2019 - 2024. All rights reserved.