【发布时间】:2017-11-02 01:22:54
【问题描述】:
我想更新我选择的学生的班级数据。但是我有限制,我选择的学生数据没有正确更新成功。 我写代码有什么错误?
第一个我有一个学生表:
{!! Form::open(['method' => 'POST', 'action' => ['SiswaController@pindah_kelas']]) !!}
<div class="panel panel-primary">
<div class="panel-heading" align="center">Daftar Data Siswa</div>
<table id="dataSiswa" class="table table-striped">
<thead>
<tr>
<th><input type="checkbox" name"select-all" id="select-all" />
<th>NIPD</th>
<th>NISN</th>
<th>Nama Siswa</th>
<th>Kelas</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php foreach($data_kelas as $siswa): ?>
<tr>
<td><input type="checkbox" name="checkbox" id="checkbox" value="{{ $siswa->id }}"></td>
<td>{{ $siswa->nipd }}</td>
<td>{{ $siswa->nisn }}</td>
<td>{{ $siswa->nama_siswa }}</td>
<td>{{ $siswa->kelas->nama_kelas }}</td>
<td>
<div class="box-button">
{{ link_to('siswa/' . $siswa->id, '', ['title' => 'Detail', 'class' => 'btn btn-info btn-sm glyphicon glyphicon-list']) }}
</div>
<div class="box-button">
{{ link_to('siswa/' . $siswa->id . '/edit', '', ['title' => 'Edit', 'class' => 'btn btn-warning btn-sm glyphicon glyphicon-edit']) }}
</div>
<div class="box-button">
{!! Form::open(['method' => 'DELETE', 'action' => ['SiswaController@destroy', $siswa->id]]) !!}
<button type="submit" class="btn btn-danger btn-sm" title="Hapus"><i class="glyphicon glyphicon-trash"></i></button>
{!! Form::close() !!}
</div>
</td>
</tr>
<?php endforeach ?>
</tbody>
</table>
</div>
{!! Form::submit('Pindah Kelas', ['class' => 'btn btn-primary form-control']) !!}
{!! Form::close() !!}
这是我的 javascript 代码:
<script type="text/javascript">
$(document).ready(function(){
$('#select-all').click(function(){
if(this.checked) {
$(':checkbox').each(function(){
this.checked = true;
});
}
else {
$(':checkbox').each(function(){
this.checked = false;
});
}
});
});
</script>
第二个是我的路线:
Route::get('siswa/pencarian_siswa', 'SiswaController@pencarian_siswa');
Route::resource('siswa', 'SiswaController');
Route::post('siswa', 'SiswaController@pindah_kelas');
我最后一个控制器:
public function pindah_kelas(Siswa $siswa, Request $request)
{
$input = $request->id;
$siswa->update($input)->whereIn('id', $input(['id_kelas' => 3]));
Session::flash('flash_message', 'Data Siswa Berhasil Diupdate.');
return redirect('kelas');
}
我的问题是如何根据我选择的学生数据更新学生从当前班级到另一个班级的转移? 如果您能帮助我解决这个问题,我将不胜感激
【问题讨论】:
-
一种可能的解决方案是在更新时删除上次选中复选框的先前数据并插入新的
-
这个 $request->id 是从哪里来的?我没有看到名称为“id”的表单输入
标签: php mysql laravel checkbox laravel-5.2