think-orm
think-orm copied to clipboard
关于orm pdo bigint的问题。
1 首先我确定这不是pdo的bug.
SELECT COUNT(*) AS think_count FROM `order` WHERE `team_id` = 1 AND `pay_success_time` BETWEEN '2022-12-03 00:00:00' AND '2022-12-03 23:59:59' AND `product_id` = '3584058982240785975'
此语句 product_id 在mysql中是bigint类型。直接查询 没有问题。 3584058982240785975 这串值 字符串与int都可以
-
直接使用pdo 查询 也能出正确的值

-
使用orm的pdo查询
注意 此处是字符串。无法获取到预期的结果
也无法获取到预期的结果
5.
可以获取到预期结果
6. 对5的测试进行验证
可以获取到预期结果
7. 在看日志文件

我也发现了,我是这样改的
这是TP处理的 bigint会处理成字符串 你可以在type里面设置类型 会自动转换 因为php对bigint支持并不好
这是TP处理的 bigint会处理成字符串 你可以在type里面设置类型 会自动转换 因为php对bigint支持并不好
好的明白