【问题标题】:Moving CiviCRM custom fields to different Contact type将 CiviCRM 自定义字段移动到不同的联系人类型
【发布时间】:2014-12-15 22:39:49
【问题描述】:

我想在 CiviCRM 中获取一组附加到一个联系人类型(个人)的自定义字段,并将它们移动到另一个联系人类型(组织)。字段相似,但并不完全相同。

处理此问题的最佳方法是什么?在导入新创建的自定义字段之前导出自定义字段并清理 CSV?

【问题讨论】:

  • 您是要将字段本身还是将单个自定义字段 A、B 和 C 的内容移动到组织自定义字段 X、Y 和 Z 中?如果是后者,你将如何识别哪个个人对应哪个组织?最后,你在寻找
  • 移动内容。个人是组织的“员工”,因此我希望使用“当前雇主 ID”将个人与组织匹配。

标签: import export civicrm


【解决方案1】:

最有效的方法是直接通过 SQL:

INSERT INTO civicrm_value_org_stuff
SELECT null as id, c.current_employer_id as entity_id, i.first_field as first_org_field, i.second_field as second_org_field ...
FROM civicrm_value_ind_stuff i
LEFT JOIN civicrm_contact c ON c.id = i.entity_id
LEFT JOIN civicrm_value_org_stuff o ON c.current_employer_id = o.entity_id
WHERE o.id is null AND c.current_employer_id is not null

您必须注意目标表中已有信息的情况,否则这应该可以正常工作。表名显然是编造的,但它们将以“civicrm_value...”开头,并且字段名称应该从中清楚。

【讨论】:

  • 谢谢,我最终可能会使用多种方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多