栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Rails中的多个表联接

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Rails中的多个表联接

要重写您在问题中遇到的SQL查询,我认为它应该类似于以下内容(尽管我很难完全可视化您的模型关系,所以这有点猜测):

RagaContextApplicantsSong.  joins(:raga_contest_applicants => [:raga_content_rounds], :contest_cat).  group('raga_contest_rounds.contest_cat_id')

…这样该

joins
方法可以同时处理两个联接以及
WHERe
子句,最后是
group
调用。

作为更多参考:

如果要将多个关联加入同一模型,则可以简单地列出它们:

Post.joins(:category, :comments)Returns all posts that have a category and at least one comment

如果要加入嵌套表,则可以将它们列出为哈希表:

Post.joins(:comments => :guest)Returns all comments made by a guest

嵌套关联,多个级别:

Category.joins(:posts => [{:comments => :guest}, :tags])Returns all posts with their comments where the post has at least one comment made by a guest

您还可以链接ActiveRecord查询接口调用,例如:

Post.joins(:category, :comments)...produces the same SQL as...Post.joins(:category).joins(:comments)

如果所有其他方法均失败,则始终可以将SQL片段直接传递到

joins
方法中,以此作为从工作查询到达以ARQI为中心的内容的垫脚石

   Client.joins('LEFT OUTER JOIN addresses ON addresses.client_id = clients.id')=> SELECt clients.* FROM clients LEFT OUTER JOIN addresses ON addresses.client_id = clients.id


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/402823.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号