簡體   English   中英

查詢加入多個關聯

[英]Query for Joining Multiple Associations

我設法用聯接表進行查詢。 我想知道如何添加另一個 聯接 (例如,publication_comments), 計算發布的評論數用reviews_count以DESC順序排序的publication_comments_count

我已經閱讀了rails指南以及關於stackoverflow的許多示例,但是仍然需要有人來協助語法以及我應該如何准確地將所有片段收集到一個地方。 謝謝。

@publication = Publication.all(
                          joins: :reviews,
                          select: '"publications".*, count("reviews".id) as reviews_count', 
                          group: '"publications".id',
                          order: "reviews_count DESC")

ActiveRecord允許您僅向joins方法提供一個字符串。 因此,您可以編寫原始SQL連接條件:

Publication.select("..., COUNT(publication_comments.id) as pub_count")
 .join('JOIN reviews on (..) JOIN publication_comments')
 .group('publications.id'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM