我有以下代码从数据库中获取customers
。我解析它,以便只显示包含其中特定用户的值。要做到这一点,我想从变量中抑制无用的。问题是删除的customer
也会从数据库中删除。我怎样才能防止这种情况发生?
cust = Customer.where("company LIKE :prefix", prefix: "#{prefix}%")
cust.each do |c|
if c.contracts.where(user: user).nil?
end
end
答案 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结束