仅在Rails API应用程序中获取聊天消息

时间:2018-08-05 11:33:23

标签: many-to-many ruby-on-rails-5 rails-api

我有两个模型,一个是User,另一个是MessageUser模型具有一个属性名称,而Message模型具有一个称为文本的属性。用户和消息之间存在多对多关系。现在想到两个用户John和Jane,我想检索同时属于John和Jane的所有消息。我该怎么做。

用户模型

has_and_belongs_to_many :messages

消息模型

has_and_belongs_to_many :users

1 个答案:

答案 0 :(得分:1)

我会这样做:

Message.includes(:users).where(users: { name: %w(John Jane) })

打破这一点:

# Enable user conditions in the messages query
Message.includes(:users)

# Then take messages belonging to Jane and John
.where(users: { name: %w(John Jane) })