我在GET路线中有这个查询:
@user = User.where("facebook_id = ?", params[:id].to_i).first
facebook_id
的类型为bigint
我正在根据打印出所有User
模型中的所有属性来提供我知道存在的值。问题是此查询仅适用于某些数字。
适用于这些数字:
1095512640500310
10155111451974992
10100608785176432
但不是这些数字
10154326172258840
10205871322198368
10153714225855256
为什么此查询适用于某些数字但不适用于其他数字?
更新
以下是打印出facebook_id
值的其他查询的屏幕截图:
但是此查询:@user = User.find_by_facebook_id(10154326172258840)
为nil
@user
更新
我发现数据库中的值与rails打印出来的值之间存在差异。如果我在PG中为这个特定用户打印出facebook_id
,我会看到:
此处的最后一位是1
,而导轨打印输出的最后一位是0
。
为什么rails会打印出错误的值?是因为某种原因四舍五入吗?