Ruby on rails 在rails查询中传递两个带条件的数组

Ruby on rails 在rails查询中传递两个带条件的数组,ruby-on-rails,associations,Ruby On Rails,Associations,我在两个表、用户和帖子之间有关联。我必须从两个表中获取所有行,其中user.name属于一个数组,post.title属于另一个数组 我试着这样做,但我得到了错误 User.includes(:posts).where('user.name' => user_name_array AND 'post.title' => post_title_array) 任何帮助都将不胜感激。试试这个 User.joins(:posts).where('users.name in ? and po

我在两个表、用户和帖子之间有关联。我必须从两个表中获取所有行,其中user.name属于一个数组,post.title属于另一个数组

我试着这样做,但我得到了错误

User.includes(:posts).where('user.name' => user_name_array AND 'post.title' => post_title_array)
任何帮助都将不胜感激。

试试这个

User.joins(:posts).where('users.name in ? and posts.title in ?', user_name_array, post_title_array)
试试这个:-


User.includes(:posts).where('users.name in(?)和posts.title in(?)、User\u name\u数组、post\u title\u数组)

抱歉@Sachin R它不起作用。即使它能工作,我只想得到两个条件满足的行,但不想过滤一个条件获取的行。你的意思是说你需要所有的用户对象?没有得到吗?你能详细说明一下吗?这意味着你需要所有与用户名数组中的名称相匹配的用户,并让帖子标题与帖子标题数组相匹配吗?是的……这正是我在一个QueryTanks NikDP中想要的。围绕问号的偏执有什么魔力?因为在查询中,我们必须将数据传递到括号中。e、 g.User.where(“id in(1,2,3,4,5)”)或User.where(“id in(?),[1,2,3,4,5])如果其中一个条件是检查时间范围,该怎么办?检查子句之间的时间范围使用。例如。User.where(:created_at=>(参数[:start_date]。to_date)…(参数[:end_date]。to_date)