我想将结果保存在数据库中,但我得到错误异常。
在我看来,我有一个单选按钮(数组),可以得到每个学生现在,迟到,缺席,其他
的结果这是我的观点
<td>{{ $users->student_id }} </td>
<td>{{ $users->student_firstname }} {{ $users->student_lastname }}</td>
<td>{{ Form::radio('result['.$users->student_id.']', 'present' , true) }}</td>
<td>{{ Form::radio('result['.$users->student_id.']', 'late' ) }}</td>
<td>{{ Form::radio('result['.$users->student_id.']', 'absent') }}</td>
<td>{{ Form::radio('result['.$users->student_id.']', 'others') }}</td>
这是我的控制器
$attendance = new Attendances();
$attendance->status = Input::get('result');
$attendance->comment = Input::get('comment');
$attendance->save();
答案 0 :(得分:13)
由于您选择的命名惯例,您的广播输入result
将返回一个数组。
如果您想保存输入result
的奇异值,请使用以下格式。
查看代码:
<td>{{ Form::radio('result', 'present' , true) }}</td>
<td>{{ Form::radio('result', 'late') }}</td>
<td>{{ Form::radio('result', 'absent') }}</td>
<td>{{ Form::radio('result', 'others') }}</td>
如果您希望数组中有多个值,那么您应该遍历代码并单独保存每个值:
控制器代码:
foreach (Input::get('result') as $studentId=>$value)
{
$attendance = new Attendances();
$attendance->status = $value;
$attendance->comment = Input::get('comment');
//We should save the student id somewhere.
$attendance->student_id = $studentId;
$attendance->save();
}
<强>建议:强>
如果您希望在同一表格中保存多个学生的信息,下面的建议将会很有效。
查看代码:
<td>{{ $users->student_id }} </td>
<td>{{ $users->student_firstname }} {{ $users->student_lastname }}</td>
<td>{{ Form::radio('student['.$users->student_id.'][status]', 'present' , true) }}</td>
<td>{{ Form::radio('student['.$users->student_id.'][status]', 'late' ) }}</td>
<td>{{ Form::radio('student['.$users->student_id.'][status]', 'absent') }}</td>
<td>{{ Form::radio('student['.$users->student_id.'][status]', 'others') }}</td>
<td>{{ Form::text('student['.$users->student_id.'][comment]'}}</td>
用于保存的控制器代码
//We loop through each student and save their attendance.
foreach (Input::get('student') as $studentId=>$data)
{
$attendance = new Attendances();
$attendance->status = $data['status'];
$attendance->comment = $data['comment'];
//We should save the student id somewhere.
$attendance->student_id = $studentId;
$attendance->save();
}
答案 1 :(得分:0)
我有一个类似的错误,使用
$attendance->fill(array with non-existing columns);
设置不存在的列值,所以在调用
时$attendance->save();
之后,它会抛出该错误