Rails 5中的“ left_joins”和“ includes”有什么区别?

时间:2018-11-21 15:00:11

标签: ruby-on-rails activerecord ruby-on-rails-5

在Rails 5中,他们添加了ActiveRecord查询方法left_joinsleft_joinsincludes有什么区别?我一直认为includes是左联接。

1 个答案:

答案 0 :(得分:1)

默认情况下,

includespreload一样在2个查询中加载关联数据。 但是,通过附加的references调用,它可以从使用两个单独的查询切换到创建像left_joins这样的单个LEFT OUTER JOIN

参考:

Preload, Eagerload, Includes and Joins

Making sense of ActiveRecord joins, includes, preload, and eager_load