是否有一种(简单的)方法可以将Eloquent Collection转换为实际数组而不转换元素本身?
当我尝试将集合传递到类似array_rand($collection)
的php方法时遇到麻烦。这给了我错误:array_rand() expects parameter 1 to be array, object given
。
我通过使用$collection->shuffle()->first();
来解决此问题,该方法工作正常,当然我可以遍历集合并将所有内容按数组推送,但是出于好奇,我想知道我是否忽略了某些内容。
更新/结论
在all
和Illuminate\Support\Collection
上的Illuminate\Database\Eloquent\Collection
方法之间似乎有所不同。
Eloquent集合上的all返回一个Support集合,Support Collection返回一个数组。
因此,要获得一系列口才的模型,您需要使用SomeModel::all()->all();