这是我的示例代码。
$users = 3 users //suppose
$leaders = new Collection();
foreach($users as $user)
{
$name = $user->name;
$username = $user->username;
$leaders->put('name', $name);
$leaders->put('username', $username);
}
dd($leaders);
这只给了我一个用户(第三个用户)的结果
Collection {#274 ▼
#items: array:2 [▼
"name" => "user3"
"username" => "username3"
]
}
因为put()
正在用相同的键替换值。
我也试过这个:
$leaders->push($name);
$leaders->push($username);
但我得到了:
Collection {#274 ▼
#items: array:6 [▼
0 => "user1"
1 => "username1"
2 => "user2"
3 => "username2"
4 => "user3"
5 => "username3"
]
}
如何为不同的用户创建不同的项目数组?
更新#1 :得到了答案。 现在尝试在视图上显示这样的值:
@foreach($leaders as $leader)
{{ $leader->username }}
@endforeach
错误:尝试获取非对象的属性。
这不应该以这种方式用于自定义集合吗?
更新#2:没关系。找到了。
它应该以这种方式工作:{{ $leader['username'] }}
答案 0 :(得分:2)
尝试推送方法
foreach($users as $user)
{
$leaders->push([
'name' => $user->name,
'username' => $user->username,
])
}