ruby-on-rails - Rails ActiveRecord 改变单词用来限制返回的记录
问题描述
我正在使用 Rails 访问一个非常古老的 SQL 数据库,该数据库使用非标准方式来限制返回的记录数。它不使用“限制”,而是使用“行”。因此,当我写
SomeModel.find(20)
ActiveRecord 发送“select etc etc limit 1”,这会爆炸。我想知道是否可以将 AR 使用的单词从“限制”更改为“行”
有一个简单的解决方法,所以我不太在意,很高兴知道。
解决方法是;-
SomeModel.where(id: 20)[0]
如果您在“where”之后使用“.first”,则 AREL 会将“limit 1”附加到 sql 中,因此您必须选择使用 [0] 返回的第一个条目
解决方案
推荐阅读
- sql - 如何使用窗口函数枚举 Postgres 表中的分区组?
- alamofire - Alamofire + Decodable - 如何将 responseJSON 转换为 NSData
- qt - 防止 QtWebEngine 重定向到特定域
- sql - Sql Query 计数关联,同时获取名称以按日期查看总票数
- python-3.x - 对大量设备并行请求 api
- ionic4 - Ionic v4`menuController.enable`方法在加载的第一页上不起作用
- swift - AVPlayer 视频之间的平滑过渡
- excel - 在 Excel 中获取“最新”版本的客户信息
- python - 安装 Python 包 PCAPY 时出错
- apache-nifi - Windows机器上的apache nifi 1.7.1重启问题