ruby - find_by 只返回第一个值
问题描述
我正在尝试检索特定部门内的所有员工姓名。
这是我所做的:
Employee.find_by(department:'IT').name
但它只返回第一个值。
这是我在控制台中得到的:
SELECT "employee".* FROM "employee" WHERE "employee"."department" = $1 LIMIT $2 [["department","IT"], ["LIMIT", 1]]
为什么要应用 LIMIT 1?
解决方案
就是find_by(..)
这样;这是where(..).first
.
如果你想要所有的记录,你需要使用where
.
Employee.where(department:'IT').map(&:name)
推荐阅读
- angular - 检测 Angular 项目以覆盖量角器测试
- json - 如何解析 Dart 中的任何 json 文件?
- server - 尽管资源不是敏感数据,我是否应该将身份验证中间件添加到 GET 请求?
- linux - 如何获取排除某些子目录的路径列表
- python-3.x - SQLalchemy 查询不更新 put api 中的关系列
- python - MongoDB - 使用 update_many() 同时更新不同的数组
- angular - 使用导航的角度路由 - children 和 loadChildren 不能一起使用
- python - 使用 seaborn `displot` 自定义图例
- javascript - 图像和按钮按百分比放置,但在我调整窗口大小时被裁剪
- c# - 在 AWS 项目中使用来自不同来源的 NuGet 包