我有一个与另一个模型(类别)相关的模型(新闻),所以在新闻模型中,我有:
has_and_belong_to_many :news_categories, join:table: 'news_categories_news'
我想把所有新闻都归为自己的类别,所以:
News.find(/*conditions*/).includes(:news_categories)
如果我在控制台中签到,我会看到正确的内部联接查询,但是当我调用时
@news.news_categories
(新闻是结果数组中的单个新闻)(如果新闻在结果数组中为单个新闻),如果我看到另一个查询以获取当前新闻的类别,那么如何避免这种冗余查询?
p.s:对不起,我的英语...
答案 0 :(得分:0)
首先,df1 = df1.iloc[:, df1.columns.str.extract('(\d+)', expand=False).astype(int).argsort()]
print (df1)
column column1 column2 column3 column4 column5 column6 column7 \
0 1 1 1 1 2 1 1
1 1 1 1 3 2 1 1
2 5 0 0 0 0 0 0
column column8 column9 column10
0 1 8 2
1 1 1 2
2 0 0 0
在.includes
之后链接时不起作用。原因-.find
将不返回关系链接所必需的find
;而是返回匹配的ActiveRecord::Relation
对象或错误。
您应该这样做:
News
答案 1 :(得分:0)
谢谢大家,但我以eager_load()
解决了
它只生成一次查询!