我正在集成一个支付网关。在localhost上,一切正常,我向付款提供商提出请求,并得到带有订单ID的响应作为回报。当我现在移到实时服务器时,将鼠标悬停在DB上而不是诸如3104632297之类的订单ID上,而将诸如-1190334960之类的巨大负值存储在数据库中。
对于代码部分,这里没有大的魔力。这是我更新订单的部分。:
$order->update([
'order_id' => $response->json['id'],
]);
return $response;
我还调试了来自网关的值,它们实际上是正确的。
有人知道什么地方可能出问题了吗?手动将负值更改为适当的ID后,它可以正常工作,因此我根本无法获得它。
请更新表中的order_id的Type。
如果只期望数字,则使用Type = BIGINT
和Attributes = UNSIGNED
。如果order_id也包含字符,则指定长度的简单VARCHAR(40)
就足够了。
只需更改表列定义为VARCHAR(as_your_id_length)