相关疑难解决方法(0)

从laravel集合中获取模型数组

给定一个CollectionEloquent Models,它们是Arrayable,我如何获得这些对象的数组?

如果调用->toArray()集合,它将给我嵌套的关联数组,从而破坏模型。

如果我将其强制转换为数组,则会得到这个非常奇怪的东西:

array:1 [?
  "\x00*\x00items" => array:1 [?
    "temp" => HistorySeries {#374 ?
      #table: "history_series_hse"
      #primaryKey: "id_hse"
      #connection: "mysql"
      +timestamps: false
      <...snip...>
    }
  ]
]
Run Code Online (Sandbox Code Playgroud)

然后是这个,但是我不太喜欢它(它可以工作):

    $reflection = new ReflectionClass($coll);
    $property = $reflection->getProperty('items');
    $property->setAccessible(true);
    $array = $property->getValue($coll);
Run Code Online (Sandbox Code Playgroud)

或者我可以使用foreach循环将其提取,但这很丑陋。有什么好办法吗?

php arrays laravel

2
推荐指数
1
解决办法
2386
查看次数

标签 统计

arrays ×1

laravel ×1

php ×1