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を調べてみると、関係を作成しようとさえしていなかったようです。

モジュールを2回作り直し、他の関係で見た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 に答える