表的laravel循环值然后将其保存到数据库
Posted
技术标签:
【中文标题】表的laravel循环值然后将其保存到数据库【英文标题】:laravel loop value of table then save it to database 【发布时间】:2018-08-30 02:33:00 【问题描述】:如何循环**表**的值,然后将其保存到数据库, 我在如何循环时遇到困难,这意味着在这里保存所有值是链接示例https://bootsnipp.com/snippets/featured/dynamic-table-row-creation-and-deletion。
控制器;
public function store(Request $request)
$this->validate($request, [
'student_name'=>'required|max:50',
]);
$leads=new Lead();
$leads->student_name = $request->student_name;
$leads->gender = $request->gender;
$leads->age = $request->age;
$leads->school = $request->age;
$leads->save();
//Display a successful message upon save
return redirect()->route('leads.index')
->with('flash_message', 'Success.');
查看.创建
$(document).ready(function()
var i = 1;
$("#add_row").click(function()
$('#addr' + i).html("<td>" + (i + 1) + "</td><td><input name='student_name" + i + "' type='text' placeholder='STUDENT NAME ' class='form-control input-md' /> </td><td><input name='gender" + i + "' type='text' placeholder='GENDER' class='form-control input-md'></td><td><input name='age" + i + "' type='text' placeholder='AGE' class='form-control input-md'></td><td><input name='school" + i + "' type='text' placeholder='SCHOOL' class='form-control input-md'></td>");
$('#tab_logic').append('<tr id="addr' + (i + 1) + '"></tr>');
i++;
);
$("#delete_row").click(function()
if (i > 1)
$("#addr" + (i - 1)).html('');
i--;
);
)
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<div class="row">
<form action="route('leads.store')" method="POST">
csrf_field()
<div class="col-sm-12">
<div class="row clearfix">
<div class="col-md-12 column">
<table class="table table-bordered table-hover" id="tab_logic">
<thead>
<tr >
<th class="text-center">
#
</th>
<th class="text-center">
STUDENT NAME
</th>
<th class="text-center">
GENDER
</th>
<th class="text-center">
AGE
</th>
<th class="text-center">
SCHOOL
</th>
</tr>
</thead>
<tbody>
<tr id='addr0'>
<td>
1
</td>
<td>
<input type="text" name='student_name' placeholder='STUDENT NAME' class="form-control"/>
</td>
<td>
<input type="text" name='gender' placeholder='GENDER' class="form-control"/>
</td>
<td>
<input type="text" name='age' placeholder='AGE' class="form-control"/>
</td>
<td>
<input type="text" name='school' placeholder='SCHOOL' class="form-control"/>
</td>
</tr>
<tr id='addr1'></tr>
</tbody>
</table>
</div>
</div>
<a id="add_row" class="btn btn-default pull-left">Add Row</a><a id='delete_row' class="pull-right btn btn-default">Delete Row</a>
<div>
<button type="submit" class="btn btn-success">SUBMIT</button>
<a href="route('leads.index')" class="btn btn-success">CANCEL</a>
</div>
</form>
<!--end of container-->
</div>
</div>
【问题讨论】:
什么是“输入表”? 检查这个链接兄弟然后告诉我如何保存多个值bootsnipp.com/snippets/featured/… 您可以将 [] 附加到输入的名称,并且在 php 页面上,您只需在 foreach 循环中传递它们。如果您需要更多信息,请告诉我。 【参考方案1】:你应该看看发送数组。
通过将[]
附加到输入名称,您可以创建一个值列表。 (而不是使用数字来给它们一个唯一的名称。
<input name="names[]" value="Hello" />
<input name="names[]" value="World" />
<input name="names[]" value="Test" />
发送上面的表格会给你以下结果:
$names = $request->get('names'); // ["Hello", "World", "Test"]
验证数组的工作方式也有所不同。请查看 Laravel 文档:https://laravel.com/docs/5.6/validation#validating-arrays
【讨论】:
以上是关于表的laravel循环值然后将其保存到数据库的主要内容,如果未能解决你的问题,请参考以下文章
在 PHP 中,有没有办法循环查询并根据值将其组织到特定列中?
laravel应用程序不会保存图像,但会将其文件名存储到数据库中
如何在没有 Laravel 尝试将其保存到数据库的情况下在 Eloquent 模型中使用受保护的属性