我正在尝试检索特定部门内所有雇员的姓名。
这是我所做的:
Employee.find_by(department:'IT').name
但是它只返回第一个值。
这是我在控制台中得到的:
SELECT "employee".* FROM "employee" WHERE "employee"."department" = $1 LIMIT $2 [["department","IT"], ["LIMIT", 1]]
为什么要应用LIMIT 1?
答案 0 :(得分:6)
find_by(..)
就是这样做的;这是where(..).first
的快捷方式。
如果需要所有记录,则需要使用where
。
Employee.where(department:'IT').map(&:name)