复杂的区域查询
我有一个模型,其中一篇文章可以有多个标签(一个标签可以有多个文章)。物品有两个子类:产品和套件。产品有类别,套件没有。
如何获取某个标签(我知道 tag.id)的所有文章(套件和产品),并加载产品类别(避免 n+1)?
I have a model where an article can have multiple tags (and a tag multiple articles). Article has two subclasses, product and kit. Products have a category, kits have not.
How can I get all articles (both kits and products) of a certain tag (I know the tag.id) , with the product's category loaded (avoiding a n+1)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
假设您的关联已设置(即标记 has_many :articles 到article_tags 等),如果您使用的是Rails 3,则在查找时可以使用#includes。将您的 own_to :category 移至您的 Article 类(是的,这样做在语义上是可以的),然后:
应该可以工作。
http://guides.rubyonrails.org/active_record_querying.html#eager-loading-协会
Assuming your associations are already setup (i.e. tag has_many :articles through article_tags, etc.), if you're using Rails 3, you can use #includes when you do your find. Move your belongs_to :category to your Article class (yes, it's semantically okay to do so), then:
Should work.
http://guides.rubyonrails.org/active_record_querying.html#eager-loading-associations