我有一个包含来自表单的数据的多维数组,我需要在同一控制器中的另一个Controller中继续使用此数组,但是我不知道该怎么做。
该数组可能类似于以下示例:
array [
"absender" => "Maxim Ivan",
"email" => "maximivan@example.com",
"telefon" => "1234567890",
"fax" => null,
"grund" => "Gehaltserhöhung",
"termin" => [
0 => [
"person" => "Some Name",
"meeting" => "10.05"
],
1 => [
"person" => "Another Name",
"meeting" => "18.05"
],
2 => [
"person" => "Again another name",
"next-possible-meeting" => "1"
],
3 => [
"person" => "And again",
"next-possible-meeting" => "1"
],
],
"bemerkung" => "some notes by Maxim"
]
此数组是在“ TerminController”的store
方法中创建的(并验证了输入数据)。
此方法将返回一个视图,在此视图中将再次显示所有这些数据,以便用户检查信息,然后可以添加文档。
添加文档并使用输入按钮提交数据时,将调用同一Controller中的upload
方法。
在这里,我需要带有表单数据的数组来继续使用它。
但是如何实现将数组传递给仅通过输入按钮调用的下一个函数。
第一种方法是将数组保存到会话中,即使由于多维而很难,它也可以工作。但这是一个非常丑陋的解决方案。
我应该使用store
方法将输入数据保存到数据库中,然后使用upload
方法再次获取数据吗?
或者是否可以通过控制器传递数组/使其在upload
-Controller中可访问,即使它是在另一个控制器中创建的呢?
我也听说过有关使用serialize()
和unserialize()
的事情,但是我不确定这对我有什么帮助。
或者也许我没有想到另外一个甚至更好的解决方案? 我将不胜感激。
数组各不相同,它可以是嵌套在'termin'中的17个数组,但我也可以只是一个。
答案 0 :(得分:1)
您可以将其存储在cache中:
Cache::put('multiArray', $multiArray); //put array in cache
$array = Cache::get('multiArray'); //retreive from cache