2017-09-07 27 views
0

我使用Ruby on Rails ver 5和MySQL創建Web應用程序。 該應用程序有兩個表categoriesposts,其中一個categories有多個帖子(Category has_many :postsPost belongs_to :category)。表結構如下所示。如何在Rails中獲得限制數字的分組項目

  • 類別型號
    • ID:整數
    • 名稱:VARCHAR
  • 郵政型號
    • ID:整數
    • CATEGORY_ID:整數
    • 標題:VAR char

我有一些問題。

  1. 是否有可能獲得30個帖子按類別分組沒有group_by查詢?但只發送一個查詢。
  2. 使用ActiveRecord或... Arel(有或沒有group_by)的Ruby on Rails查詢是什麼?

回答

1

你可以做到這一點對一個查詢分類:

Category.eager_load(:posts).map{|category| {category.name => category.posts}}.first(30) 

玩得開心

+0

哦!我誤解使用'map'發送N + 1個查詢。謝謝! –

相關問題