【发布时间】:2018-08-07 06:49:22
【问题描述】:
我已经简化了这个问题的表格。
这是我的例子
<form method="post" name="test" enctype="multipart/form-data">
{{csrf_field()}}
<input class="form-control" type="file" name="test[]" id="companion"/>
<input type="hidden" name="test[]" value="random-value" />
<input type="submit" value="Submit">
</form>
在我的路由中,dd 请求如下:
dd(request('test'));
现在我希望一个包含文件(UploadedFile 类型)和 随机值 的数组,相反,我只得到文件。
array:1 [▼
0 => UploadedFile {#539 ▶}
]
知道为什么我会得到这个结果吗? 我知道我可以更改变量的名称,但我想了解为什么它不能那样工作。
提前致谢。
【问题讨论】:
-
我猜这是因为输入类型不同。如果它们是相同的输入类型,它会正常工作,但文件输入类型的工作方式不同。
-
@aynber 你知道我怎样才能将两者放在一个数组中吗?
-
不,我没有。如果您只有一个文件和一种形式的隐藏变量,那么您不需要数组。
-
不,不幸的是,我有一个复杂的表单,我正在执行 edit 操作,其中一些值可以是文件或静态内容。
-
您需要改变您的方法,在编辑视图中您需要加载上传的文件并显示它们并带有删除选项,然后如果文件被删除,您可以允许上传新文件或其他内容。我只是在向你抛出想法:)
标签: php laravel file input request