包含模型到阵列的Laravel集合

时间:2018-01-24 12:32:45

标签: php laravel phpexcel laravel-5.5

我有一个包含多个用户模型的Laravel Collection。

Collection([
    User,
    User,
])

该模型包含例如用户名,名字,姓氏,电子邮件,出生日期。我只需要用户名,电子邮件,日期,并将其放在这样的数组中。

array(
    array('jonhdoe', 'johndoe@example.com', '1-1-1970')
)

以便我可以使用

访问它
$username = $array[0][0]
$email = $array[0][1]

而不是

$username = $array[0]['username']
$email = $array[0]['email']

我正在看每个Laravel帮手或地图,但不知怎的,我无法让它工作。

2 个答案:

答案 0 :(得分:4)

only()将仅返回指定列的数组。并且toArray()会将集合转换为数组:

$collection->map(function($i) {
    return array_values($i->only('username', 'email', 'date'));
})->toArray();

答案 1 :(得分:-1)

使用toArray() -

$collection_in_arrays = $collection->toArray();
  

toArray方法将集合转换为普通PHP array。如果collection's值为Eloquent个模型,则模型也会转换为arrays