ruby-on-rails – 在Rails中使用.includes()时,有没有办法在.sel
发布时间:2020-12-17 03:25:28 所属栏目:百科 来源:网络整理
导读:我正在尝试优化我的RAM使用查询,并且.includes(:ocr)中的表上有太多列(以及一个大型列).有没有办法让我仍然可以利用Rails’.includes()但是从includes()表中选择显式的.select()列? 我想排除使用N 1,这是.joins()生成的. 即. User.select(:email).includes
我正在尝试优化我的RAM使用查询,并且.includes(:ocr)中的表上有太多列(以及一个大型列).有没有办法让我仍然可以利用Rails’.includes()但是从includes()表中选择显式的.select()列?
我想排除使用N 1,这是.joins()生成的. 即. User.select(:email).includes(:ocr => select(:small_value_only)) 解决方法
您没有提供有关如何设置表的大量信息,因此我假设User belongs_to:ocr,User有一个ocr_id列,ocr表的名称是ocr.
您应该使用连接而不是包含,这就是生成INNER JOIN查询并能够检索连接表的列的方式.最后,您可以使用AS为列名称添加别名,以便在模型中检索更容易: users = User.joins(:ocr).select(:email,:ocr_id,'`ocr`.`small_value_only` AS `ocr_sma`') users.each do |user| user.email # Users.email for this record user.ocr_sma # Joined Ocr.small_value_only for this record end (显然我把它别名为ocr_sma,但你可以给它你想要的名字) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- 用Ruby模拟Ruby中的浏览器?
- 无法在c#中隐式转换类型’System.EventHandler’
- postgresql – 涉及OR-ed条件的高级索引(pgsql)
- 使用minidom来处理XML的示例(Python 学习)(转载)
- flash和sram及 系统内存 的关系
- Axis2 service.xml发布webservice 两种配置方式
- Cocos2d-x 3.1.1 学习日志17移植出现error C1083
- entity-framework – 添加一个没有App.Config的D
- Flex3+flex SDK 4 与 Eclipse3.4 集成安装
- iOS NSFileManeger 计算文件是否超时,和计算文件
热点阅读