sRecordは seasar2の S2JDBC, それをまねて作った拙作teeple2のActiveRecordと似たような使い方でSalesforceのデータを取り扱うことができるPHP5ライブラリです。google codeにオープンソースとして公開していますので是非ご利用ください。
http://code.google.com/p/srecord4p/
SalesforceのAPIでは複数のレコードをまとめて処理することが可能です。これにより通信オーバヘッドを軽減することができます。
Srecord_ActiveRecord#create()が単一レコードの作成だったのに対して、Srecord_Schema::createAll()を使うことで複数レコードを一度に作成できます。
Srecord_Schema::createAll()は Srecordオブジェクトの配列を引数に取り、それらのデータにしたがって全てのレコードをSalesforceに登録します。各レコードの結果は、各オブジェクトのgetState()メソッドで確認することができます。
01 | $a1 = new Sobject_Account(); |
04 | $a2 = new Sobject_Account(); |
07 | Srecord_Schema::createAll( array ( $a1 , $a2 )); |
09 | if ( $a1 ->getState() === Srecord_ActiveRecord::STATE_SUCCESS) { |
13 | print_r( $a1 ->getErrors()); |
updateAll, upsertAll, deleteAll, undeleteAll も同様です。
1 | $records = Srecord_Account::neu()->eq( 'Type' , 'Prospect' )->select(); |
2 | foreach ( $records as $record ) { |
3 | $record ->Type = 'Other' ; |
5 | $successAll = Srecord_Schema::updateAll( $records ); |
02 | for ( $i =0; $i < count ( $_POST [ 'extid' ]); $i ++) { |
03 | $extid = $_POST [ 'extid' ][ $i ]; |
04 | $name = $_POST [ 'name' ][ $i ]; |
05 | $account = new Sobject_Account(); |
06 | $account ->extid__c = $extid ; |
07 | $account ->Name = $name ; |
08 | $records [] = $account ; |
11 | $successAll = Srecord_Schema::upsertAll( 'extid__c' , $records ); |
1 | $records = Srecord_Account::neu()->eq( 'Type' , 'Prospect' )->select(); |
2 | $successAll = Srecord_Schema::deleteAll( $records ); |
1 | $records = Srecord_Account::neu()->eq( 'Type' , 'Prospect' )->select(); |
2 | $successAll = Srecord_Schema::undeleteAll( $records ); |
このエントリは 2011 2月 3 8:56 PM に投稿され、PHP, Salesforce, sRecord 以下にファイルされています。 あなたは RSS 2.0 フィードを通してこのエントリへのレスポンスを取得することが可能です。 コメントおよびPingは現在受け付けていません。