当前位置: 首页 > 面试题库 >

find_by_sql呈现数组

侯令雪
2023-03-14
问题内容

我在这里遇到了一些问题,我无法发出find_by_sql请求来呈现ActiveRecord关系。确实,我需要一个activerecord关系来提出新请求:

@searches = @searches.find_by_sql('SELECT *, COUNT( follower_id ) FROM follows GROUP BY followable_id LIMIT 0 , 3') if params[:only_famous_projects]
@project_pages = @project_pages.where(:project_id => @searches.pluck(:'followable.id')) if params[:only_famous_projects]

没有activerecord关系,我不能使用“
pluck”。因此,我想我必须将sql请求转换为Activerecord请求。但是,一旦我在ActiveRecord上使用“计数”,我就会遇到一个巨大的问题:最后,我没有ActiveRecord关系,而是FixNum!

我不知道在哪里找到答案了,如果您能帮助我,我将不胜感激。谢谢


问题答案:

find_by_sql仅当您使用调用ActiveRecord对象时,它才会返回ActiveRecord对象YourModel.find_by_sql

为什么不使用ActiveRecord查询界面。它在计算方面做得很好。

更新

@searches = @searches.group(:followable_id).limit(3).offset(0).count(:follower_id) if params[:only_famous_projects]

请注意,它将为您提供一个哈希值,其中包含每个哈希值的计数followable_id

LIMIT 0, 3等于LIMIT 3吗?



 类似资料:
  • 问题内容: 我有一个相当复杂的SQL查询,我敢肯定我无法使用ARel(Rails 3.0.10)完成 看看链接,但是它有一些联接和一个子句,而且我敢肯定对于ARel来说太复杂了。 但是我的问题是,在此查询如此复杂之前,我可以使用ARel添加其他模型来避免n + 1问题。现在,我正在使用find_by_sql,请不要使用。我仍然希望能够获取这些记录并将它们附加到我的模型实例上,但是确实不知道如何实现

  • 问题内容: Sitepoint的r937足以帮助我确定需要从数据库返回正确结果的查询。 我需要的是能够将此查询用作作用域,并能够将其他作用域链接到该作用域。 查询是: 我试图使像这样的范围: 但是,当我尝试将另一个示波器链接到它时,它失败了。有没有办法像正常作用域一样运行此查询? 问题答案: 返回。但是您需要链接其他作用域。 使用将返回的ActiveRecord方法重写查询的一种方法是将其重新排列

  • 我对线阵图有问题。 我不明白,为什么不渲染数据: Fxml文件:

  • 我已经阅读了I-TEXT数字签名电子文本,以及MKL(他似乎和布鲁诺一起是这个主题的权威)回答的以前的帖子。 本质上,我有一个Azure应用程序服务,它从公司的签名API获得数字签名(基础64)和证书链。该公司的签名API在Base64中返回签名以及证书链。 我只想在pdf中插入一个签名对象/容器,这样当最终用户打开pdf时,它就会显示在签名面板中。我更喜欢使用延期签名。 可悲的是,事情不能工作,

  • 问题内容: 我有一个Ruby数组,如何在Rails 3.0中将其呈现为JSON视图? 我的控制器方法是 问题答案:

  • 我附上JSON格式。我还需要将值从一个组件传递到另一个组件。除了localstorage之外,还有其他功能可以缓存值吗?