我怎样才能在轨道上进行连接

时间:2018-06-18 22:39:28

标签: ruby-on-rails join

我需要在2个表之间建立联合,以便从睡眠中获取Sleep和latlong的所有字段。

我该怎么办?加入或包含

@sleeps = Sleep.where(track_id: track).includes(:poi)

@sleeps = Sleep.where(track_id: track).joins(:poi)

两者的区别是什么?

1 个答案:

答案 0 :(得分:0)

.includes是连接,而.join是内连接。注意:您可能需要添加引用以有效地完成左连接作为一个查询(内部优化通常默认为2个查询仅包括包含),例如:

Sleep.includes(:poi).references(:poi).where(...)