2017-04-06 105 views
1

这是m逻辑挂钩After Save,这个逻辑挂钩在我的本地机器上完美工作。
但它不适用于sandboxcopy。我向Sugar Support团队询问了这个问题,他们发现Set_relationship不起作用。
但我的问题是为什么这是在本地工作或是否有任何替代方法来编写此代码,我错了?Set Relationship is not working on sandbox Sugarcrm

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); 

     } 
    } 

} 

请帮帮我。

回答

0

请不要在上面使用。使用负载关系和添加方法。

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); 
      } 
     } 
    } 

} 
+0

这个答案是不正确的,我正在完美地工作。 –

0

一些功能被列入黑名单,如果多数民众赞成的情况下,你可以很容易地使用一个技巧,以确保您的代码下面提及招生产instance.Try的伟大工程:

$ hack_function =“set_relationship “; $ reporting_team - > $ hack_function('contacts_rh_reporing_team_1_c',array(),false,false,$ dataset);

让我们希望这可以解决您的问题。