我有一个约会成员的哈希,并尝试在我的rails控制器中创建一个MySQL查询。 具有来自map命令的id的用户,例如{1,3}应排除在查询中。 例如@ appointment.members.map {| m | m.user_id}返回{1,3,5},我想找到除了这些之外的所有其他用户。
@users = User.where( "id NOT IN (?)", @appointment.members.map{|m| m.user_id} )
我正在使用Rails 3.2.9所以也许我的exclude语句是错误的,因为我没有从这个查询中得到任何结果。问题不能是地图数组 - 我已经测试过了。 提前谢谢。
答案 0 :(得分:1)
我认为您对map
方法存在问题,请尝试以下方法:
@users = User.where( "id NOT IN (?)", @appointment.members.map(&:user_id) )
编辑:为未来的读者删除了错误的语法(如果有的话)
答案 1 :(得分:0)
我用新的实例变量解决了这个问题:
@members = @appointment.members.all
然后
@add_users = User.where( "id NOT IN (?)", @members.map(&:user_id) )
感谢您的支持