1

現在、Laravel 5.2 内で Xero API を使用しています。このデータでEloquentの力を使いたいと思います。

実際には、請求書を復元し、次に示すようにチェーン メソッドを使用してそれらをフィルタリングすることもできます。

    $invoices = XeroPrivate::load('Accounting\\Invoice')
        ->where('Status', 'DRAFT')
        ->execute();

を実行するvar_dumpと、次のようなデータが得られます。

object(XeroPHP\Remote\Collection)[173]
  public 0 => 
    object(XeroPHP\Models\Accounting\Invoice)[171]
      protected '_data' => 
        array (size=31)
          'Type' => string 'ACCPAY' (length=6)
          'Contact' => 

雄弁な連鎖法を使えば、このようなことを実行できます。現在、失敗します:

    $invoices = XeroPrivate::load('Accounting\\Invoice')
        ->where('Date','>','2016-03-20')
        ->execute();

Laravelのドキュメントを確認すると、次のようにコレクションに変換できると思われcollectます:

    $collection = collect($invoices);

$collection問題を解決しません。現在、データ構造は異なりますが、それでも Eloquent を使用できません。現在のデータは次のとおりです。

object(Illuminate\Support\Collection)[163]
  protected 'items' => 
    array (size=24)
      0 => 
        object(XeroPHP\Models\Accounting\Invoice)[171]
          protected '_data' => 
            array (size=31)

しかし、データはIlluminate\Support\Collection正しいように見えます。

ありがとう!

4

1 に答える 1

5

first()メソッドを使用して、コレクションの単一のアイテムを取得できます。

$entity = $collection->first();

利用可能なメソッドの詳細については、こちらを参照しIlluminate\Support\Collectionてください。

于 2016-06-23T09:28:41.693 に答える