laravel - 如何将数组中的日期传递到laravel中的数据库
问题描述
我在 Laravel 中进行了以下迁移:
public function up()
{
Schema::create('attendances', function (Blueprint $table) {
$table->bigIncrements('id');
$table->bigInteger('student_id');
$table->date('att_date')();
$table->string('status');
$table->timestamps();
});
}
我在 Blade 中的表单看起来像这样
<form method="post" action="{{url('att-sumbit')}}" enctype="multipart/form-data">
@csrf
<div class="row">
<div class="col-md-4"></div>
<div class="form-group col-md-4">
<strong>Date : </strong>
<input class="date form-control" type="text" id="datepicker" name="att_date[]">
</div>
</div>
<div class="mb-3">
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Level</th>
<th>Status</th>
</tr>
@foreach($students_att as $student)
<tr>
<td>{{$student -> id}}</td>
<td>{{$student -> name}}</td>
<td>{{$student -> level}}</td>
<td>
<input type="hidden" id="custId" name="student_id[]" value="{{$student -> id}}">
</td>
<td>
<select name="status[]">
<option value="0">No</option>
<option value="1">Yes</option>
</select>
</td>
</tr>
@endforeach
</table>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
<script type="text/javascript">
$('#datepicker').datepicker({
autoclose: true,
format: 'yyyy-mm-dd'
});
</script>
我让我的控制器是这样的:
public function sumbit(Request $request)
{
/* $submit = new Attendance;
$submit->student_id = $request->get('student_id');
// $submit->att_date = $request->get('att_date');
// $submit->status = $request->get('status');
$submit->save();
return redirect('att'); */
$studentID = $request->input('student_id', []);
$studentDate = $request->input('att_date', []);
$studentStatus = $request->input('status', []);
$students = [];
foreach ($studentID as $index => $student) {
$students[] = [
"student_id" => $studentID[$index],
"att_date" => $studentDate[$index],
"status" => $studentStatus[$index],
];
}
$create = Attendance::insert($students);
}
所以我希望当我提交表单时,它必须记录下我在下图中显示的每个输入到我的数据库的日期选择器使用的相同日期
但是当我执行此过程时,我收到此错误(ErrorException Undefined offset: 1)我的控制器行中此行中的错误
"att_date" => $studentDate[$index],
Ii如何解决此错误请帮助
解决方案
让一些更简单的事情。
@foreach($students_att as $student)
<tr>
<td>{{$student -> id}}</td>
<td>{{$student -> name}}</td>
<td>{{$student -> level}}</td>
<td>
<input type="hidden" id="custId" name="student[student_id][]" value="{{ $student->id }}">
</td>
<td>
<select name="student[status][]">
<option value="0">No</option>
<option value="1">Yes</option>
</select>
</td>
</tr>
@endforeach
控制器 :
$students = $request->student;
foreach($students as $key => $value) {
$students[$key]['att_date'] = $request->att_date[0];
}
$create = Attendance::insert($students);
推荐阅读
- docusignapi - 嵌入式和电子邮件签名相结合
- elixir - 如果 deps 是最新的,防止 mix deps.get 使用网络?
- reactjs - 电子生成器错误 - 致命错误:无法提交更改
- python-3.x - Discord.py 重写返回错误信息
- android - 将旧的 Eclipse 项目导入 Android Studio 会导致 Gradle 3.3.1 错误
- python - 这两种保存表单信息的方式有什么区别?
- elixir - 长生不老药和连续传递风格
- r - 绘制残差(连续)与解释变量(分类)警告:“在 xy.coords(x, y, xlabel, ylabel, log) 中:强制引入的 NAs”
- google-chrome - Bing 的查询搜索引擎 URL 是什么?
- python - 在 Heroku 上的 Django / Python 应用程序中使用 Node 模块