我正在处理一个由进口组成的维护项目。
我的档案:
require 'csv'
class ContactsImporter < BaseImporter
def import
..............
sales_exec = fetch_value(row, "Sales Exec", :string)
email = fetch_value(row, "Email", :string)
...................
sales_exec_id = nil
if sales_exec.present?
sr = @file_import.account.users.where(initials: sales_exec).first
sales_exec_id = sr.try(:id) if sr.present?
end
sales_exec_id = sales_exec_id
if company.present?
customer = Company.new
customer.name = company
customer.phone = phone
customer.email = email
customer.sales_exec = sales_exec_id
end
end
end
我的要求是我可以存储姓名,电话和电子邮件,但无法获得sales_exec_id。 sales_exec是角色表中具有role_name(Sales Executive,Product Manager等)的用户。 关系是用户has_many角色通过user_roles(由role_id和user_id组成)。 有没有办法在sales_exec_id的代码中编写查询以匹配sales_exec(显示Venkat,John等)。
答案 0 :(得分:1)
由于没有整个系统环境和csv文件,我建议采用两种方法。
if sales_exec.present?
sr = @file_import.account.users.where(initials: sales_exec).first
sales_exec_id = sr.try(:id) if sr.present?
end
添加puts sr
添加,请参阅终端
查看终端中的查询SQL,您可以在数据库GUI中对其进行调试