将集合转换为Eloquent对象

时间:2016-06-23 09:09:27

标签: php laravel-5 eloquent method-chaining xero-api

目前我在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,似乎是正确的。

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用Neo4J version: 3.0.3 size of database directory is 5.31 GiB.方法获取该集合中的单个项目。

first()

You can find more information here了解$entity = $collection->first(); 可用的方法。