我想将多个数据保存到数据库,在不同的列中自动增加的id具有每个数据的唯一键。用户可以动态添加输入字段,最后单击“提交”按钮,将数据保存在数据库中,每个数据库具有不同的id(自动递增id)。
我的js代码id
<script>
$(document).ready(function(){
$('#add').click(function(){
var inp = $('#box');
var i = $('input').size() + 1;
$('<div id="box' + i +'"><input type="text" id="name" class="name" name="tagName' + i +'" placeholder="Input '+i+'"/><img src="<?php echo '../../uploads/remove.png'?>" width="32" height="32" border="0" align="top" class="add" id="remove" /> </div>').appendTo(inp);
i++;
});
$('body').on('click','#remove',function(){
$(this).parent('div').remove();
});
});
</script>
表格插入数据
<div class="row-fluid">
<div class="span6">
<div class="control-group">
<label class="control-label">Add Tags<span class="required"></span></label>
<div class="controls">
<div id="box">
<input type="hidden" name="_token" value="{{csrf_token()}}">
<input type="text" name="tagName[]" id="name" class="m-wrap span12" placeholder="Input Tags"
value="">
<a href="#" class="btn blue" id="add">Add More</a>
</div>
</div>
</div>
</div>
</div>
控制器功能:
foreach( Input::get('tagName') as $name) {
$objectTagProduct = new TagModel;
$objectTagProduct ->name = $name;
$objectTagProduct->save();
}
我最初只能插入第一个数据,现在**
我得到这个为foreach()提供的无效参数
**错误。提前致谢。
我认为问题在于:
$('<div id="box' + i +'"><input type="text" id="name" class="name" name="tagName' + i +'"...
^^^^^^^^^
如果要将tagName
作为数组,则必须使用括号:
$('<div id="box' + i +'"><input type="text" id="name" class="name" name="tagName[]"...
您可以尝试以下方式保存。
$data[] = Input::get('tagName');
打印$ data并检查记录是否到达然后保存在下面。
foreach($data as $name) {
$objectTagProduct = new TagModel;
$objectTagProduct ->name = $name;
$objectTagProduct->save();
}