按整数属性查找的Rails失败

时间:2016-09-16 20:57:49

标签: sql ruby-on-rails postgresql

我在GET路线中有这个查询:

@user = User.where("facebook_id = ?", params[:id].to_i).first

facebook_id的类型为bigint

我正在根据打印出所有User模型中的所有属性来提供我知道存在的值。问题是此查询仅适用于某些数字。

适用于这些数字:

1095512640500310
10155111451974992
10100608785176432

但不是这些数字

10154326172258840
10205871322198368
10153714225855256

为什么此查询适用于某些数字但不适用于其他数字?

更新

以下是打印出facebook_id值的其他查询的屏幕截图:

enter image description here

但是此查询:@user = User.find_by_facebook_id(10154326172258840)

nil

返回@user

更新

我发现数据库中的值与rails打印出来的值之间存在差异。如果我在PG中为这个特定用户打印出facebook_id,我会看到:

enter image description here

此处的最后一位是1,而导轨打印输出的最后一位是0

为什么rails会打印出错误的值?是因为某种原因四舍五入吗?

0 个答案:

没有答案