我的数据库中有Course表,该表与Location表一一对应, 当我尝试向表中添加新课程时,我选择该课程的位置,显示为(Class a,Class b,...),但是当我尝试编辑该课程位置时,显示的数据就是该课程的ID位置不是它的名称
我在CourseController中编写此代码以进行编辑:
(1, 0, 0)
和更新功能
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'));
}
在edit.blade中,我尝试
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');
}
在课程模型中
<select name='location_id' style="width:220px;">
<option value="{{$locations}}">{{$course->location_id}}</option>
</select>
在位置模型中
public function location(){
return $this->belongsTo('App\Location');
}
我希望能够编辑课程的位置 知道插入正确但编辑否
有人可以告诉我该怎么做吗? 我使用Laravel 5.7
答案 0 :(得分:0)
假设您有:
具有属性的位置:ID,名称
位置有很多课程
课程属于位置
public function edit(Course $course)
{
$locations = Location::all();
return view('admin.courses.edit',compact('course','locations'));
}
在您的刀片中:
<select name='location_id' style="width:220px;">
@foreach ($locations as $location)
<option value="{{$location->id}}">{{$location->name}}</option>
@endforeach
</select>