think-orm icon indicating copy to clipboard operation
think-orm copied to clipboard

关于orm pdo bigint的问题。

Open taozhipeng1990 opened this issue 3 years ago • 3 comments

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都可以

  1. 直接使用pdo 查询 也能出正确的值 image

  2. 使用orm的pdo查询 image 注意 此处是字符串。无法获取到预期的结果

image 也无法获取到预期的结果 5. image 可以获取到预期结果 6. 对5的测试进行验证 image 可以获取到预期结果 7. 在看日志文件 image

taozhipeng1990 avatar Dec 03 '22 08:12 taozhipeng1990

我也发现了,我是这样改的

Image

wcxxxxxx avatar Mar 07 '25 07:03 wcxxxxxx

这是TP处理的 bigint会处理成字符串 你可以在type里面设置类型 会自动转换 因为php对bigint支持并不好

liu21st avatar Mar 07 '25 08:03 liu21st

这是TP处理的 bigint会处理成字符串 你可以在type里面设置类型 会自动转换 因为php对bigint支持并不好

好的明白

wcxxxxxx avatar Mar 07 '25 08:03 wcxxxxxx