首页 > 解决方案 > 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] 返回的第一个条目

标签: ruby-on-railsactiverecord

解决方案


推荐阅读