在不更改数据库的情况下从Object数组中删除值

时间:2014-12-09 16:03:17

标签: ruby-on-rails database

我有以下代码从数据库中获取customers。我解析它,以便只显示包含其中特定用户的值。要做到这一点,我想从变量中抑制无用的。问题是删除的customer也会从数据库中删除。我怎样才能防止这种情况发生?

cust = Customer.where("company LIKE :prefix", prefix: "#{prefix}%")

cust.each do |c|
  if c.contracts.where(user: user).nil?
  end
end

1 个答案:

答案 0 :(得分:0)

如果您对MySQL很酷,您还可以与客户和合同进行JOIN查询,并获取符合您条件的查询。

或者,为了保持简单和愚蠢,你可以循环/选择实际结果" cust"并创建一个新的数组。循环使用这个新数组并执行任何预期的操作。

  

full_cust = Customer.where("公司LIKE:前缀",前缀:   "#{前缀}%&#34)

     

cust = full_cust.select {| c | c如果c.contracts.where(user:user).nil?}

     

cust.each do | c | #DO WHATEVER FORENDENDED结束