2017-08-31 22 views
0

私はDynamics 365 https://github.com/AlexaCRM/php-crm-toolkitのためにAlexa-php-toolkitを使用しています。これを使用すると新しい連絡先を作成できますが、連絡先にアカウント名を追加することはできません。このエラーが発生します:Dynamics 365の連絡先にアカウント名を追加する方法

Notice: Property accountid of the contact entity cannot be set in ../vendor/alexacrm/php-crm-toolkit/src/Entity.php on line 263.

ここに私のスクリプトです。問題のあなたのコード行があり

<?php 
//URL: https://github.com/AlexaCRM/php-crm-toolkit 
/** 
* Use init.php if you didn't install the package via Composer 
*/ 
use AlexaCRM\CRMToolkit\Client as OrganizationService; 
use AlexaCRM\CRMToolkit\Settings; 
require_once '../vendor/autoload.php'; 
require_once '../vendor/alexacrm/php-crm-toolkit/init.php'; 
require_once 'config.php'; 
require_once 'includes/db.php'; 
$db   = new DB(); 
$options = getAuth(); 
$serviceSettings = new Settings($options); 
$service = new OrganizationService($serviceSettings); 
$accountId = 'a2536507-018d-e711-8115-c4346bac0a5f'; 
// create a new contact 
$contact = $service->entity('contact'); 
$contact->accountid = $accountId; 
$contact->firstname = 'Test'; 
$contact->lastname = 'Contact12'; 
$contact->jobtitle = 'Business Analyst'; 
$contact->mobilephone = '1002345679'; 
$contact->fax = '9902345679'; 
$contact->emailaddress1 = '[email protected]'; 
$contact->address1_line1 = '119 Cambridge'; 
$contact->address1_line2 = 'Apt 22'; 
$contact->address1_city = 'Houston'; 
$contact->address1_stateorprovince = 'TX'; 
$contact->address1_postalcode = '77009'; 
$contact->address1_country = 'US'; 
$contactId = $contact->create(); 
echo $contactId; 
?> 

答えて

1

$contact->accountid = $accountId; 

は、まず、接触の親アカウントはspecial lookup field that can store link to both account or contact entityあるparentcustomeridフィールドに保存されます。 フィールドaccountidparentcontactidは、これをバックグラウンドで処理するのに役立ちますが、一般的には利用可能ではありません。 parentcustomeridフィールドで作業する必要があります。

第2に、ルックアップ(外部キー)を扱うときの別の問題は、エンティティタイプ(テーブル名)を渡す必要があることです。

正しいコードは次のようになります。

$accountRef = $client->entity('account'); 
$accountRef->ID = $accountId; 
$contact->parentcustomerid = $accountRef; 

または

$contact->parentcustomerid = new EntityReference('account', $accountId); 

をこれらの例は、issue listから取られた調整が、テストされていません。私はそれが動作例であり、機能要求ではないことを願っています。

関連する問題