首页 > 解决方案 > 无法按属性访问集合 Laravel 5.8

问题描述

所以我在请求中有三个长度相同的不同数组,下面是我如何将它们组合成一个集合:

$inputs = collect();
$keys = collect(['id', 'username', 'email']);
foreach ($request['ids'] as $index => $id) {
   $username = $request['usernames'][$index];
   $email = $request['emails'][$index];
   $inputs->push($keys->combine([$id, $username, $email]));
}

结果对我来说是正确的:

在此处输入图像描述

但是,当我迭代它时,我无法访问它:

foreach ($inputs as $input) {
    dd($input->id); // Property [id] does not exist on this collection instance.
}

这是 dd($input) 的结果:

在此处输入图像描述

关于这个问题的任何指示?(另一种将数组组合成一个集合的简短方法也将不胜感激!)

谢谢你。

标签: phplaravellaravel-5

解决方案


这是一个集合,你应该像这样得到它:dd($input['id']).


推荐阅读