I want to save my results in the database but im getting an error exception.
In my view I have a radio button(array) that gets the result of each student which is
I had a similar error, where using
$attendance->fill(array with non-existing columns);
sets a non-existing column value, so on calling
$attendance->save();
afterwards, it will throw that error
Your radio input result
will return an array, due to the naming convention you have chosen.
If you wish to save the singular value of the input result
, use the following format.
View code:
<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>
If you are expecting multiple values in an array, then you should be looping through the code, and saving each individually:
Controller Code:
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();
}
Suggestion:
If you wish to save several student's information on the same form, the suggestion below will work great.
View Code:
<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>
Controller Code for saving
//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();
}