В моей базе данных есть таблица курса, которая соединяет один со многими с таблицей местоположения. Когда я пытаюсь добавить новый курс в таблицу, я выбираю местоположение этого курса, которое представлено как (Класс a, Класс b, ...), но когда я пытаюсь отредактировать это местоположение курса, представленные данные являются идентификатором этого местоположения, а не его именем
Я пишу этот код в CourseController для редактирования:
public function edit(Course $course)
{
$locations = Location::all();
$loc =array();
foreach($locations as $location)
$loc[$location->id]=$location->name_location;
return view('admin.courses.edit',compact('course','loc','locations'));
}
и функции обновления
public function update(Request $request, Course $course)
{
$course->update($request->all());
$course->location_id = $request->input('location_id');
return redirect()->route('courses.index')
->with('success','location updated successfully');
}
В edit.blade я пробую это
<select name='location_id' style="width:220px;">
<option value="{{$locations}}">{{$course->location_id}}</option>
</select>
в модели курса
public function location(){
return $this->belongsTo('App\Location');
}
в модели местоположения
public function courses(){
return $this->hasMany('App\Course');
}
IХотите иметь возможность редактировать местоположение курса? Знание вставки правильно, но редактирование Нет
Может кто-нибудь сказать мне, что делать, чтобы это исправить?Я использую Laravel 5.7