设置关系不适用于沙箱 Sugarcrm
Set Relationship is not working on sandbox Sugarcrm
这是 m 逻辑挂钩 After Save
,这个逻辑挂钩在我的本地机器上运行良好。
但它不适用于 sandboxcopy。我向 Sugar 支持团队询问了这个问题,
他们发现 Set_relationship 不工作。
但我的问题是为什么这在本地工作或者是否有任何替代方法来编写此代码,我哪里错了?
class RHLogicHook {
function ReportingTeam($bean, $event, $arguments) {
if (isset($arguments['isUpdate']) && $arguments['isUpdate'] == false) {
$reporting_head = BeanFactory::retrieveBean('Contacts', $bean->contact_id_c);
$contact = BeanFactory::retrieveBean('Contacts', $bean->contacts_rh_reporting_head_1contacts_ida);
$reporting_team = new RH_reporing_team();
$reporting_team->contact_id_c = $contact->id;
$reporting_team->save();
$dataset = array(
'contacts_rh_reporing_team_1contacts_ida' => $reporting_head->id,
'contacts_rh_reporing_team_1rh_reporing_team_idb' => $reporting_team->id,
);
$reporting_team->set_relationship('contacts_rh_reporing_team_1_c', array(), false, false, $dataset);
}
}
}
请帮帮我。
请不要使用以上内容。使用负载关系和添加方法。
class RHLogicHook {
function ReportingTeam($bean, $event, $arguments) {
if (isset($arguments['isUpdate']) && $arguments['isUpdate'] == false) {
$reporting_head = BeanFactory::retrieveBean('Contacts', $bean->contact_id_c);
$contact = BeanFactory::retrieveBean('Contacts', $bean->contacts_rh_reporting_head_1contacts_ida);
$reporting_team = new RH_reporing_team();
$reporting_team->contact_id_c = $contact->id;
$reporting_team->save();
$GLOBALS['log']->log('zob_ms_bean ' . print_r($reporting_head, 1));
if ( $reporting_head->load_relationship('contacts_rh_reporing_team_1')) {
$reporting_head->contacts_rh_reporing_team_1->add($reporting_team->id);
}
}
}
}
一些函数被列入黑名单,如果是这种情况,您可以轻松地使用一个技巧来确保您的代码在生产环境中运行良好instance.Try 下面提到的技巧:
$hack_function="set_relationship";
$reporting_team->$hack_function('contacts_rh_reporing_team_1_c', array(), false, false, $dataset);
希望这能解决您的问题。
这是 m 逻辑挂钩 After Save
,这个逻辑挂钩在我的本地机器上运行良好。
但它不适用于 sandboxcopy。我向 Sugar 支持团队询问了这个问题,
他们发现 Set_relationship 不工作。
但我的问题是为什么这在本地工作或者是否有任何替代方法来编写此代码,我哪里错了?
class RHLogicHook {
function ReportingTeam($bean, $event, $arguments) {
if (isset($arguments['isUpdate']) && $arguments['isUpdate'] == false) {
$reporting_head = BeanFactory::retrieveBean('Contacts', $bean->contact_id_c);
$contact = BeanFactory::retrieveBean('Contacts', $bean->contacts_rh_reporting_head_1contacts_ida);
$reporting_team = new RH_reporing_team();
$reporting_team->contact_id_c = $contact->id;
$reporting_team->save();
$dataset = array(
'contacts_rh_reporing_team_1contacts_ida' => $reporting_head->id,
'contacts_rh_reporing_team_1rh_reporing_team_idb' => $reporting_team->id,
);
$reporting_team->set_relationship('contacts_rh_reporing_team_1_c', array(), false, false, $dataset);
}
}
}
请帮帮我。
请不要使用以上内容。使用负载关系和添加方法。
class RHLogicHook {
function ReportingTeam($bean, $event, $arguments) {
if (isset($arguments['isUpdate']) && $arguments['isUpdate'] == false) {
$reporting_head = BeanFactory::retrieveBean('Contacts', $bean->contact_id_c);
$contact = BeanFactory::retrieveBean('Contacts', $bean->contacts_rh_reporting_head_1contacts_ida);
$reporting_team = new RH_reporing_team();
$reporting_team->contact_id_c = $contact->id;
$reporting_team->save();
$GLOBALS['log']->log('zob_ms_bean ' . print_r($reporting_head, 1));
if ( $reporting_head->load_relationship('contacts_rh_reporing_team_1')) {
$reporting_head->contacts_rh_reporing_team_1->add($reporting_team->id);
}
}
}
}
一些函数被列入黑名单,如果是这种情况,您可以轻松地使用一个技巧来确保您的代码在生产环境中运行良好instance.Try 下面提到的技巧:
$hack_function="set_relationship"; $reporting_team->$hack_function('contacts_rh_reporing_team_1_c', array(), false, false, $dataset);
希望这能解决您的问题。