如何解决将数组数据从 laravel 视图发送到控制器
我正在尝试将一个数组从我的 Laravel 视图发送到我的控制器,但我只收到了一部分数据,这就是我所拥有的:
<form
method="POST"
action="{{ url('/forms/reports') }}"
>
<input type="hidden" name="_token" value="{{ csrf_token() }}">
@foreach ($results as $result)
<input value="{{ $result->code }}" name="code">
<input value="{{$result->name}}" name="name">
<input value="{{$result->user}}" name="user">
<input value="{{$result->number}}" name="number">
@endforeach
<div class="col-xs-9">
</div>
<div class="col-xs-3 container-download">
<button type="submit" class="btn btn-download" id="btn-download" >Download</button>
</div>
</form>
但结果是这样的:
array (
0 => '1',1 => 'Test Name 1',2 => 'user1',3 => '1',),array (
0 => '2',1 => 'Test Name 2',2 => 'user2',3 => '2',);
在我视图中的表格上,两行数据显示正确。 但是当我在我的控制器上接收完整的结果数组时,我只得到第二行,当我像这样打印时:
public function generateExcel(Request $request)
{
$code = $request->input('code');
$name = $request->input('name');
$user = $request->input('user');
$number = $request->input('number');
$users = [$code,$name,$user,$number];
Log::debug($users);
}
我的日志显示了这个:
[2020-12-30 12:43:58] local.DEBUG: array (
0 => '2',)
而且我不知道我是否应该先推送这些值,否则我又犯了另一个错误。有人能帮我解决这个问题吗?
解决方法
发生这种情况是因为您没有发送数组。你需要做这样的事情。
@foreach ($results as $result)
<input value="{{ $result->code }}" name="code[]">
<input value="{{$result->name}}" name="name[]">
<input value="{{$result->user}}" name="user[]">
<input value="{{$result->number}}" name="number[]">
@endforeach
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。