Ruby on rails 如何使用原始sql从Rails中的联接表中提取值

Ruby on rails 如何使用原始sql从Rails中的联接表中提取值,ruby-on-rails,ruby-on-rails-3,rails-activerecord,Ruby On Rails,Ruby On Rails 3,Rails Activerecord,我有两个表users和places,由places\u用户连接 我想检索用户的最后5个位置 我正在努力: 地点。选择(“*来自地点\用户”) 但这产生了: 从“地点”中选择*from places\u用户 我需要直接使用ActiveRecord吗?或者别的什么。。。 使用模型实例是不合适的,因为这样只会给我一个用户的位置,或者所有选择了位置的用户 提前感谢您的帮助。您可以尝试以下方法: PlaceUser.includes(:place, :user).last(10) 其中应给出PlaceU

我有两个表users和places,由places\u用户连接

我想检索用户的最后5个位置

我正在努力:

地点。选择(“*来自地点\用户”)

但这产生了:

从“地点”中选择*from places\u用户

我需要直接使用ActiveRecord吗?或者别的什么。。。 使用模型实例是不合适的,因为这样只会给我一个用户的位置,或者所有选择了位置的用户


提前感谢您的帮助。

您可以尝试以下方法:

PlaceUser.includes(:place, :user).last(10)
其中应给出
PlaceUser
表中最后10条记录,以及相关的
place
users

如果您没有联接表,可以创建它:

class PlaceUser < ActiveRecord::Base
  belongs_to :user
  belongs_to :place
end
class PlaceUser
PlaceUser.limit(5)
应该可以。请参考:嗨,为参与进来干杯。但是,我没有联接表模型。我建议添加联接模型,因为您已经需要特定于该表的数据。通过另一个表遍历它的列对编写代码来说可能并不有趣!嗨,谢谢你的参与。问题是我没有联接模型。我想知道我是否可以创建一个连接模型,它将工作添加
PlaceUser
modelOk,我已经工作了,但不得不将模型命名为PlacesUser,因为它似乎没有自动多值化位置!很明显,我现在正在破解它,但至少它是有效的。我应该做什么来让它更像“Rails”呢?我应该指出,在没有连接模型的情况下,用户位置的添加很好。