Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Rails-拥有并属于许多。。。具有同一表的多个联接的条件_Mysql_Ruby On Rails_Arel - Fatal编程技术网

Mysql Rails-拥有并属于许多。。。具有同一表的多个联接的条件

Mysql Rails-拥有并属于许多。。。具有同一表的多个联接的条件,mysql,ruby-on-rails,arel,Mysql,Ruby On Rails,Arel,我有一个与has\u的对话模型,并且\u属于\u多个用户协会 class Conversation < ActiveRecord::Base has_many :messages has_and_belongs_to_many :users end 但这会导致多个sql查询,我认为这不是最好的选择 谢谢你的帮助 类似这样的Coversation.includes(:users)。其中([“user_id IN(?),[1,2]])这是我最初的尝试。但像这样,您也将获得仅分配给一个

我有一个与has\u的对话模型,并且\u属于\u多个用户协会

class Conversation < ActiveRecord::Base
  has_many :messages
  has_and_belongs_to_many :users
end
但这会导致多个sql查询,我认为这不是最好的选择


谢谢你的帮助

类似这样的
Coversation.includes(:users)。其中([“user_id IN(?),[1,2]])
这是我最初的尝试。但像这样,您也将获得仅分配给一个用户的对话。但我想要两个用户都被分配到的对话。我想它会同时提供两个。是的,但我需要两个用户都被分配到的对话。
Conversation.joins(:users).where('user_id in (?)',[1,2]).group(:id).having('count(user_id) > 1')
Conversation.joins(:users).where('user_id in (?)',[1,2]).group(:id).having('count(user_id) > 1')