user
1has_many :articles 2has_many :comments
article
1has_many :comments 2belongs_to :user
comment
1belongs_to :user 2belongs_to :article
上のモデルから下のようなオブジェクトを取得するにはどうすればいいでしょうか?
result
1{ articles: [{ id: 1, comments: [{ content: 'コメント', user: { name: 'foo' }, ...]}, ...]}
主な環境
Rails 6.0.3.2
PostgreSQL 12.3
Nuxt.js 2.13.1
バックエンドにRails、フロントにNuxt.jsを使用しています。
試したこと
ruby
1user = User.first 2articles = user.articles 3 .includes({ comments: :user }) 4 .joins({ comments: :user )} 5 .select('articles.*, ARRAY_AGG(comments.*) AS comments') 6render json: { user: user, articles: article }
上のコードでarticleに関連するcommentsを取得するところまではできたのですが、userを含める方法がわかりません。
回答1件
あなたの回答
tips
プレビュー