Преобразовать коллекцию в объект Eloquent

В настоящее время я использую Xero API внутри Laravel 5.2. Я хотел бы использовать силу 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 и, кажется, прав.

Спасибо!

0

Решение

Вы можете взять один элемент коллекции, используя first() метод.

$entity = $collection->first();

Вы можете найти больше информации здесь о том, какие методы у вас есть в наличии Illuminate\Support\Collection,

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]