Php Laravel添加动态输入字段
我想在数据库中插入动态字段。我正在使用下面的代码,但它没有像我预期的那样工作Php Laravel添加动态输入字段,php,laravel,bulkinsert,laravel-eloquent,Php,Laravel,Bulkinsert,Laravel Eloquent,我想在数据库中插入动态字段。我正在使用下面的代码,但它没有像我预期的那样工作 <html> <input id="reporting" type="text" value="salman" name="reporting[]"> <input id="reporting" type="text" value="ankur" name="reporting[]"> </html> <?php $report = Input
<html>
<input id="reporting" type="text" value="salman" name="reporting[]">
<input id="reporting" type="text" value="ankur" name="reporting[]">
</html>
<?php
$report = Input::get('reporting');
for($i=0; $i<=count($report);$i++)
{
$news = new Reporting();
$news->user_id = 1;
$news->reporting = $report;
$news->save();
}
?>
你们能帮我解决这个问题吗。因为
$report
是一个数组,它的当前项可以用[]
符号接收:
$report = Input::get('reporting');
for($i=0; $i<=count($report);$i++)
{
$news = new Reporting();
$news->user_id = 1;
$news->reporting = $report[$i]; // here add [$i]
$news->save();
}
$report=Input::get('reporting');
对于($i=0;$iuser\u id=1;
$news->reporting=$report[$i];//此处添加[$i]
$news->save();
}
您可以映射集合并创建新报告,同时以您想要的方式存储报告值:
<html>
<body>
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
<form action="/" method="post">
{{csrf_field()}}
<input id="reporting" type="text" value="salman" name="reporting[]">
<input id="reporting" type="text" value="ankur" name="reporting[]">
<button type ="submit"> Send </button>
</form>
</body>
</html>
这将生成以下格式的数据:
user_id || reporting
1 Salman
1 Ankur
注意:测试工作正常!当我使用此方法时,
dd($report)
显示什么?$news->reporting=$report[$i];
dd($report)显示'salman'我插入id号25,$news->reporting=$report[$i];它在数据库中插入2行,但在第一行中插入id号2,在第二行中插入id号5ya我尝试了这个$news->reporting=$report[$i];//这里添加[$i]它在数据库中插入2行,但我使用id 25,所以它将id分成两行,第一行显示id#2,第二行显示id#5如何将数据发送到服务器?是否使用ajax?如果使用ajax-show ajax函数。非常奇怪。假设表单字段的名称正确reporting[]
,则Input::get
必须返回数组,而不是单个字段。请尝试仅打印$\u POST['reporting']
,如果它不是数组,则不是laravel问题。我重新启动服务器,然后再次尝试,它插入正确的值,但显示错误(1/1)ErrorException未定义的偏移量:2删除=
->$iError:未定义的偏移量:2集合{217▼ #项目:数组:1[▼ 0=>“多个”]}我认为您的html与问题中显示的内容不同。请尝试使用我的方式,它将100%正常工作。
public function store()
{
$fields = collect(Input::get('reporting'));
$fields->map(function($value, $key){
return Reporting::create([
'user_id'=>1,
'reporting'=>$value,
]);
});
return redirect('/')->with('success', 'Action was successful');
}
user_id || reporting
1 Salman
1 Ankur