0

我有两张桌子(城市和地区)。这个城市有很多地区。所以我已经成功地添加和删除了数据。但是我在编辑和更新时遇到了多个错误。我刚刚开始学习 Laravel。我使用了资源控制器,但在声明路由时遇到了问题,所以我也尝试了名称路由。

我遇到的这个错误:Trying to get property 'id' of non-object 并指示表单的路由ID。这是$editArea->id。这是我的代码。

web.php 路由:

Route::resource('area','Admin\AreaController');
 Route::get('area/edit/{id}','Admin\AreaController@edit')->name('area.edit');
 Route::post('area/update/{id}','Admin\AreaController@update')->name('area.update');

编辑按钮:<a href="{{route('area.edit', $row->id)}}">Edit</a>

区域控制器:

public function edit(Area $area, $id)

    {

        $editArea= Area::find($id);
        $cityno= City::orderBy('city_name', 'asc')->get();
        return view('admin.editArea', compact('editArea','cityno'));
    }
public function update(Request $request, Area $area, $id)
    {

        $editArea=Area::find($id);
        $editArea->city_id=$request->city_id;
        $editArea->area_name=$request->area_name;
        $editArea->save();

    }

编辑表格:

<form method="POST" action="{{route('area.update', $editArea->id)}}">
                @csrf
                @method('put')
                    <select name="city_id">
                        @foreach($cityno as $row)
                            <option value="{{$row->id}}" >{{ucwords($row->city_name)}}</option>
                            @endforeach
                        </select>
                <input type="text" name="area_name" value="{{$editArea->area_name}}">
                    <button type="submit">Update Area</button>
               </form>

面积模型:

public function city(){
       return $this->belongsTo(City::class,'city_id');}

城市模型:

  public function area(){
        return $this->hasMany(Area::class); }

由于我是一个新学习者,我被困在这些文件中以找到我的错误代码。

4

0 回答 0