I have this update controller in Laravel-5.8
$leavetype = HrLeaveType::findOrFail($id);
$leavetype->leave_type_name = $request->leave_type_name;
$leavetype->leave_type_code = $request->leave_type_code;
$leavetype->description = $request->description;
$leavetype->company_id = Auth::user()->company_id;
$leavetype->created_by = Auth::user()->id;
$leavetype->created_at = date("Y-m-d H:i:s");
$leavetype->is_active = 1;
$leavetype->save();
$employeetypes = HrLeaveTypeDetail::where('leave_type_id', $id)->get();
foreach ($employeetypes as $key => $employeetypes){
$leavetypedetail = HrLeaveTypeDetail::where('leave_type_id', $id)->get();
$insert_array = [
'no_of_days' => $request->no_of_days[$key],
'employee_type_id' => $request->employee_type_id[$key], //$request->employee_type_id[$key],
'weekend_inclusive' => isset($request["weekend_inclusive$key"]) ? 1: 0,
'leave_type_id' => $leavetype->id,
];
$leavetypedetail->update($insert_array);
}
view
@foreach($leavetypedetails as $key => $leavetypedetail)
<tr>
<td width="5%">
{{$key+1}}
</td>
<td width="30%">
<span>{{$leavetypedetail->employeetype->employee_type_name}}</span>
</td>
<td style="display: none">
<input type="hidden" name="employee_type_id[]" value="{{$leavetypedetail->employeetype->employee_type_name}}" class="form-control employee_type_id">
</td>
<td width="20%"><input type="number" name="no_of_days[]" value="{{$leavetypedetail->no_of_days}}" placeholder="Enter leave days here" class="form-control no_of_days" max="120">
</td>
<td width="10%"><input type="checkbox" name="weekend_inclusive{{$key}}" class="form-control" data-bootstrap-switch data-off-color="danger" data-on-color="success" data-off-text="NO" data-on-text="YES" value="1" {{ ($leavetypedetail->weekend_inclusive == 1 ? ' checked' : '') }}></td>
</tr>
@endforeach
When I submitted the form, I got this error:
BadMethodCallException: Method Illuminate\Database\Eloquent\Collection::update does not exist app\Http\Controllers\Leave\LeaveTypesController.php(268): Illuminate\Support\Collection->__call('update', Array)
and it points here:
$leavetypedetail->update($insert_array);
How do I resolve it?
Thanks