如何在SugarCRM CE中的潜在顾客和自定义模块之间建立关系?

问题描述

|
function createPJOpportunityRelationship($pj_id,$op_id) {
    echo \"creating relationship\";

    $set_relationship_value = array(
        \'module1\' => \'geral_pessoa_juridica\',\'module1_id\' => $pj_id,\'module2\' => \'Opportunities\',\'module2_id\' => $op_id
    );

    $set_relationship_params = array(
        \'session\' => $this->ses,\'set_relationship_value\' => $set_relationship_value
    );

    $set_relationship_result = $this->soap->call(\'set_relationship\',array(
        \'session\' => $this->ses,\'set_relationship_value\' => $set_relationship_value));

    var_dump($set_relationship_result);
}
根据大多数Sugar教程,这是我用来创建关系的代码。当我使用2个基本模块(例如潜在客户/联系人)时,该代码有效,但是当我使用自定义构建的模块尝试时,该代码将失败。 在这种情况下,“ 1”模块是自定义模块,其中geral是程序包,而pessoa_juridica是名称。我确定名称正确,可用于其他功能。 这个功能回到我这里
5ec9ca75-e09d-e2d8-0c2b-4df7ac377dcf
creating relationship 
array(3) { 
[\"created\"]=> int(0) 
[\"Failed\"]=> int(1) 
[\"deleted\"]=> int(0) 
}
我不确定为什么会失败-研究sugarcrm.log,我什至没有尝试创建这种关系。 我重新制作了模块两次,尝试按照我在其他关系中看到的Sugar标准手动创建表,刷新了MysqL特权,并在Sugar中进行了所有可能的修复。我无法重新安装它,因为它正在生产中。 关于如何解决它的任何想法?     

解决方法

        第5行有错误:
\'module1\' => \'geral_pessoa_juridica\',\'module1_id\',$pj_id,
相反,应为:
\'module1\' => \'geral_pessoa_juridica\',\'module1_id\' => $pj_id,
    ,        解决了或有点。
    $set_relationship_params = array(
        \'session\' => $this->ses,\'module_name\' => \'custom_module\',/* custom module,where the relationship was created,\"primary module\" */
        \'module_id\' => $custom_id,/* id of site,get from set_entry call */
        \'link_field_name\' => \'module\',/* the LINK field type name,from Step 5  */
        \'related_ids\' => array($module_id) /* id of Account you want to relate to */
    );

    print_r($result = $this->soap->call(\'set_relationship\',$set_relationship_params)); //nuSoap
}