我正在尝试在Laravel session
中推送一个数组数组,即使它按预期插入它,它也会插入带有键0的数组:
session()->flush();
session()->put('wizard.selectedProjects',$selectedProjects);
session()->put('wizard.projectCount',count($selectedProjects));
session()->put('wizard.currentProject',0);
例如:
$selectedProjects = [
'project1' => [
'name' => 'name1',
'url' => 'url1'
],
'project2' => [
'name' => 'name2',
'url' => 'url2'
]
]
session
看起来像这样:
session()->all()
其中wizard
键的值为:
0 => ['project1','project2']
以及
'selectedProjects' => ['project1','project2']
为什么Laravel会在我的数组中插入0
键并按预期在指定键处插入数组?
编辑:似乎每次执行session()->put()
(在上面的代码中),都会生成一个内容为$selectedProjects
的新密钥。最后,我将0
,selectedProjects
,1
,projectCount
,2
,currentProject
作为我session
中的键,包含$selectedProjects
的所有额外密钥。
答案 0 :(得分:0)
如果要添加数组值,则需要使用session()->push()
。使用put()
表示单个值。
session()->flush();
session()->push('wizard.selectedProjects', $selectedProjects);
session()->put('wizard.projectCount', count($selectedProjects));
session()->put('wizard.currentProject', 0);