为什么我的数据库查询限制为1?

时间:2013-12-06 00:08:55

标签: ruby-on-rails

这是我的控制器查询:

@statuses = Status.find_by user_id: (params[:id])

这是它的输出:

 Status Load (0.2ms)  SELECT "statuses".* FROM "statuses" WHERE "statuses"."user_id" = 2 LIMIT 1

好奇LIMIT 1来自哪里......

1 个答案:

答案 0 :(得分:4)

来自文档:

  

find_by找到匹配某些条件的第一条记录

使用where而不是找到所有

Status.where(user_id: params[:id])

请注意,如果您遵循find_by的逻辑,您会看到它基本上会这样做:

where(*args).limit(1).to_a.first