def self.all_matches(email, ....)
#blockades and blockades_by is from amistad gem
ids = Profile.find_by_email(email).blockades.pluck(:id) + Profile.find_by_email(email).blockades_by.pluck(:id)
self.order('random()').
where(:approval_status => Profile::ApprovalStatus::APPROVED).
where('id NOT IN (?)', ids).
where.not(:email => email)
当我添加
时 where('id NOT IN (?)', ids).
它什么都不返回。在我添加它之前它返回了4个元素。
当我进入控制台时,抓住了个人资料并搜查了被封锁和封锁,因为他们都是空的。
=(
任何想法为什么?
答案 0 :(得分:1)
如果ids是一个空数组,它将不返回任何内容。当数组为空时,您应该跳过运行where('id NOT IN (?)', ids)
。