2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Laravel で Salesforce を Eloquentとして扱う EloquentSalesForceの紹介

Last updated at Posted at 2022-07-23

なにこれ

  • EloquentSalesForce(EISF) という Laravelで Salesforceを扱うためのパッケージの紹介です。
  • "laravel salesforce"で検索するとomniphx/forrestというパッケージをよく目にしますが、こちらは、SOQLでアクセスするので少し面倒です。
  • 今回紹介する EloquentSalesForce(EISF) というパッケージは、 Salesforceの知識がなくても、Salesforceのデータ構造体をEloquentとして扱え敷居が低いです。

EloquentSalesForce(EISF)

インストール

  • SalesForce APIの設定方法は割愛いたします。
  • composer で eloquent-sales-force をインストール
composer require rob-lester-jr04/eloquent-sales-force
  • DB ドライバ-を追加し、対応する環境変数を .env ファイルで定義しましょう。
config/database.php
'soql' => [
    'driver' => 'soql',
    'database' => null,
    'consumerKey'    => env('SF_CONSUMER_KEY'),
    'consumerSecret' => env('SF_CONSUMER_SECRET'),
    'loginURL'       => env('SF_LOGIN_URL'),
    // Only required for UserPassword authentication:
    'username'       => env('SF_USERNAME'),
    // Security token might need to be ammended to password unless IP Address is whitelisted
    'password'       => env('SF_PASSWORD')
],

利用方法

  • Lead という オブジェクトにアクセスするためにモデルを定義します。
app/Models/Lead.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Lead extends Model
{
    //
}

  • ここまでくれば、あとは簡単です。
  • いつものEloquent のように扱えます。

参照

exmaple_read.php
$leads = Lead::where('Email', 'user@test.com')->get();
$lead = Lead::find('00Q1J00000cQ08eUAC');
$email = $lead->Email;

作成

exmaple_create.php
$lead = Lead::create([
    'FirstName' => 'Foo',
    'LastName' => 'Bar',
    'Company' => 'Test Company'
]);

その他できること

  • update/delete
  • Salesforceオブジェクト同士のリレーション の定義
  • Local Sync (DBと同期が取れそう)
  • 詳しくは公式ページを参照

まとめ

  • Salesforceを一度も触ったことがなかったのですが、このパッケージのおかげで少ない学習コストで、サービス側のDBの内容を、Salesforceを 同期することができました。
  • Salesforce連携の開発は、Salesforceの Sandbox機能を使って 本番データに影響を与えずにテストすることができました。
2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?