概要

sRecordは seasar2の S2JDBC, それをまねて作った拙作teeple2のActiveRecordと似たような使い方でSalesforceのデータを取り扱うことができるPHP5ライブラリです。google codeにオープンソースとして公開していますので是非ご利用ください。
http://code.google.com/p/srecord4p/

今日はupdate(データの更新)について説明します。
エンティティにセットしたプロパティのみ更新する update()と、全プロパティ(値がセットされていなければNULLになる)を更新するupdateEntity()があります。

使い方

更新したいプロパティに新しい値をセットし update() を実行します。
プロパティにNULLをセットしたいときは fieldnull() を使うか、update()メソッドの第一引数に配列(NULLにしたいプロパティ名)で渡します。

$account = new Sobject_Account();
$account->Id = '0018000000UoDxpAAF';
$account->Name = 'Tigger';
$account->fieldnull('ParentId');
$result = $account->update();
if (! $result) {
    print_r($account->getErrors());
}

updateEntity

update()は空のプロパティを更新しないのに対して updateEntity()は全てのプロパティを更新します。(空のプロパティはNULLになります。)
このメソッドは select()で取得したものを更新するのに役立ちます。

$account = Sobject_Account::neu()->find('0018000000UoDxpAAF');
$account->Name = 'Tigger';
$account->ParentId = NULL;
$result = $account->updateEntity();

コメントは受け付けていません。