laravel - 获取表 laravel 中选定行的 id
问题描述
所以我正在尝试使用 laravel 集体进行 CRUD,我的问题是如何获取选定行的 id 以便对其进行编辑。
看起来如果我选择要在表中编辑的某个列,它获得的 id 是最后一行的 id 而不是所选行。
这是我的看法。
<table class="table">
<thead>
<tr>
<th scope="col">id</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Course</th>
<th scope="col"></th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
@foreach ($cruds as $crud)
<tr>
<th scope="row">{{$crud->id}}</th>
<td>{{$crud->firstName}}</td>
<td>{{$crud->lastName}}</td>
<td>{{$crud->course}}</td>
<td><button class= "btn btn-warning" data-toggle="modal" data-target="#editModal"> Edit </button></td>
<td><button class= "btn btn-danger" data-toggle="modal" data-target="#deleteModal"> Delete </button></td>
</tr>
@endforeach
</tbody>
</table>
这是我的模态
{{-- <-- Edit Modal --> --}}
<div class="modal fade" id="editModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">EDIT DATA</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
{!! Form::open(['action' => ['CrudController@update', $crud->id], 'method' => 'POST'])!!}
<div class="form-group">
{{Form::label('firstName','First Name')}}
{{Form::text('firstName',$crud->firstName,['class' => 'form-control'])}}
</div>
<div class="form-group">
{{Form::label('lastName','Last Name')}}
{{Form::text('lastName',$crud->lastName,['class' => 'form-control'])}}
</div>
<div class="form-group">
{{Form::label('course','Course')}}
{{Form::text('course',$crud->course,['class' => 'form-control'])}}
</div>
<div class="modal-footer">
{{Form::hidden('_method', 'PUT')}}
{{Form::submit('Update', ['class' => 'btn btn-primary'])}}
</div>
{!! Form::close() !!}
</div>
</div>
</div>
</div>
这是我的控制器
public function update(Request $request, $id)
{
//
$this->validate($request, [
'firstName' =>'required',
'lastName' => 'required',
'course' => 'required'
]);
//Adding Data
$crud = Crud::find($id);
$crud->firstName = $request->input('firstName');
$crud->lastName = $request->input('lastName');
$crud->course = $request->input('course');
$crud->save();
return redirect('/crud');
}
解决方案
试试这个
<script>
$(document).on('click', '.edit-modal', function() {
$('#id').val($(this).data('id'));
$('#firstName').val($(this).data('firstName'));
$('#lastName').val($(this).data('lastName'));
$('#course').val($(this).data('course'));
$('#ModalEditForm').modal('show');
});
</script>
并给每个输入一个ID,并将记录的ID作为隐藏输入发送从路由和控制器方法中删除ID并将ID作为隐藏输入发送
推荐阅读
- mysql - 使用节点js显示来自mysql的数据时未定义数据
- python - Pygame 窗口在几秒钟后一直冻结
- visual-studio-extensions - 如何在源代码管理下存储所需扩展的列表?
- spring-boot - Spring Boot 微服务中的会话管理
- linux - Linux一更改就保存文件
- reactjs - 有没有办法检查屏幕是否在底部标签导航中 - 反应导航 5.X
- wolfram-mathematica - 对变量有共同限制的并行 FindFit
- node.js - 将协商身份验证传递给 IIS 站点
- python - BS4 通过抓取表格给出一个奇怪的随机输出
- java - Java Selenium WebDriverWait 等待的时间比指定的等待时间长