У меня есть набор данных в именах субъектов базы данных с 4 столбцами ['id', 'sub_name', 'sub_code', 'sub_group'. Исходные данные для базы данных следующие:
+----+----------+----------+---------+
| id | sub_name | sub_code |sub_group|
+----+----------+----------+---------+
| 1 | A | S01 | 0 |
+----+----------+----------+---------+
| 2 | B | S02 | 0 |
+----+----------+----------+---------+
| 3 | C | S03 | 0 |
+----+----------+----------+---------+
То, что я пытаюсь сделать, это обновить значение «sub_group» на «group 1 / group 2 / group 3» через форму, у меня естьпопытаться следовать некоторым из учебника, но это не удалось. Ниже приведен код, который я пробовал. Надеюсь, кто-то может мне помочь ..
Это мой код в HomeController
public function updateGroup(Request $request)
{
$group = Subject::find($request->subject_id);
$group->sub_group = $request->sub_group;
$group->save();
return redirect('/dashboard');
}
Это мой код в Subject.php модели
protected $fillable = [
'sub_group'
];
Это мойкод в представлении
<form method="post" action="/dashboard">
{{ csrf_field() }}
<table class="table table-hover">
<thead class="text-warning" align="center">
<th>No.</th>
<th>Subject Name</th>
<th>Subject Code</th>
<th>Subject Group</th>
</thead>
<tbody>
@foreach ($subject as $index => $sub)
<tr align="center">
<td>{{$index+1}}</td>
<td>{{$sub->sub_name}}</td>
<td>{{$sub->sub_code}}</td>
<td>
<div class="col">
<select class="form-control" name="sub_group">
<option disabled selected>Assign Group...</option>
<option value="group1">Group 1</option>
<option value="group2">Group 2</option>
<option value="group3">Group 3</option>
</select>
<input type="hidden" name="subject_id" value="{{$sub->id}}">
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
<button type="submit" class="btn btn-primary">Save</button>
</form>
на основе моей формы, пользователь может заполнить опцию только для 'sub_group', и я пытаюсь заменить существующее значение в базе данных для 'sub_group' на последнее значение, выбранное пользователем('group1 / 2/3')
Это мой код в web.php
Route::post('/dashboard', 'HomeController@updateGroup');
Я ожидаю, что текущие данные 'sub_group' будут обновлены на значение, выбранное пользователемиз формы. Заранее спасибо:)