rails 代码重构之级联模型与include之间如何处理

现象描述

现在我有三个对象:channel(频道) 1 ->  video(视频) 1 -> comment(评论)N -> user, 给你一个关于channel的token字段的值,请用最少次数的查询查出于token对应的channel频道
的所有video 和 comment 


问题简答:
涉及四个model,如何用最优的查询方案查出结果。 因为comment实在太多了,所以,与comment相对应的user对象应该是级联查出的。
所以,现在我的方案是  channel -> video , video 在查询出comment , 顺便级联查出 user

最后代码如下:

@channel = Channel.find xxx, :include => [:user, video]
@video = @channel.video
@comments  =  @video.comments 


#video 中的定义如下

has_many :comments, :include => :user  


这样,有效的减少了查询次数

不知道是否有更好的解决办法?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值