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

根据大多数糖教程,这是我用来创建关系的代码。该代码在我使用 2 个基本模块(如线索/联系人)时有效,但在我尝试使用自定义构建模块时失败。

在这种情况下,geral_pessoa_juridica模块是自定义模块,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 中进行了所有可能的修复。我无法重新安装它,因为它正在生产中。

关于如何解决它的任何想法?

4

2 回答 2

2

第 5 行有一个错误:

'module1' => 'geral_pessoa_juridica', 'module1_id', $pj_id,

应该改为:

'module1' => 'geral_pessoa_juridica', 'module1_id' => $pj_id,
于 2011-06-22T13:21:53.397 回答
1

解决了,或者有点。

    $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
}
于 2011-12-08T17:42:00.897 回答