如何在 Laravel 中将数组推送到现有会话?

6

在我之前的问题之前,我想到了另一个想法,可以在单个会话中推送项数组。

例如,我有一个会话session('products')

现在我所拥有的是一系列的项目。

Name=Item1
Class=Good

Name=Item2
Class=Bad

Name=Item3
Class=Good

Name=Item4
Class=Bad

我了解到

session()->put('products.name', $name);
session()->put('products.class', $class);

这将仅仅将项目放入其中,但当我尝试将另一个数组放入会话时,它只是替换了值,
因此我尝试使用push()方法。
session()->push('products.name', $name);
session()->push('products.class', $class);

但是它显示了[]运算符不支持字符串。有人有解决方案吗?

我是laravel的新手,正在学习中!

1个回答

18

我想说它可能是这样的:

// set products.name as array
session()->put('products.name', []);


// somewhere later
session()->push('products.name', $name1);

// somewhere else later
session()->push('products.name', $name2);

是的,这个可行!我创建了一个 if 条件,如果 products sessionnull,那么就会执行 session()->put('products.name', [])。现在我可以向其中添加项目,谢谢。 - Alen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接