【发布时间】:2021-06-03 17:20:25
【问题描述】:
我想使用界面表单更新来更新数据库中的多个数据。下面的表格显示了从数据库中显示的数据,输入保存按钮后会更新。
下面是我的界面
以下是我的代码
html:
<form action="{{ route('people.update', $id) }}" method="post">
@csrf
{{ method_field('PATCH') }}
@foreach($peoples as $people)
<tr>
<td>
<input type="checkbox" class="name" name="name" value=""/> {{$people->name}}
</td>
<td>
<input type="number" class="age" value="{{$people->age}}" name="age" disabled />
</td>
</tr>
@endforeach
<button type="submit" name="button" class="btn btn-primary float-right" style="background-color: green;">Save</button>
</form>
Javascript/Jquery:
<script>
$(document).ready(function () {
$('.name').on('change', function () {
let input = $(this).closest('tr').find('input.age')
input.prop("disabled", !$(this).is(':checked'));
input.val('');
});
});
</script>
控制器
public function update(Request $request, $id)
{
//
$people = People::find($id);
$people->age=$request->input('age');
$people->save();
return redirect('people');
}
问题:
我无法将表单更新到数据库,问题可能与控制器有关。
如何为这个场景设置控制器。
谢谢
【问题讨论】:
-
您是否收到任何错误消息?尝试将
dd($request->all())添加到控制器代码的开头以查看age是否被正确传入(您可以对id执行相同操作以确保其正确)。