【问题标题】:Call to a member function delete() on null Laravel在 null Laravel 上调用成员函数 delete()
【发布时间】:2021-01-17 14:42:11
【问题描述】:

当我想删除一个用户表时,它会说调用 null Laravel 上的成员函数 delete()。为什么??

这是代码:

网络路由:

//admin starts
Route::prefix('/a')->middleware('auth')->group(function () {

    Route::get('/admin', 'AdminController@index')->name('admin.index');
    Route::get('/overzicht', 'AdminController@overzicht')->name('admin.overzicht');

    Route::get('/product/create', 'ProductController@create')->name('product.add');
    Route::post('/product/create', 'ProductController@store')->name('product.store');
    
    Route::get('/userlist', 'UsersController@list')->name('user.list');
    Route::delete('/userlist/{id}', 'UsersController@destroy')->name('userlist.destroy');
    Route::get('/userlist/{id}', 'UsersController@details')->name('user.details');
});

刀片列表:

<form class="form-group pull-right" action="{{ route('userlist.destroy', ['id' => $id->id])}}" method="post">
@method("DELETE")
@csrf
<button type="submit" onclick="return confirm('Are you sure?')" value="Delete" style="border: none"><i class="fa fa-trash" aria-hidden="true"></i></button>

型号:

 protected $table = 'users';

控制器:

public function destroy($id)
{
//   if ($id != null) {
//     $id->delete();
//     return redirect()->route('user.list');
// }
    $userr = Dum::find($id);
    $userr ->delete();
   session()->flash('message', 'Delete Successfully');
    return redirect()->route('user.list');
}

【问题讨论】:

  • 常识..这意味着您的ID是错误的..您不能删除为空的对象
  • 这是因为Dum::find($id); 返回null。而且你不能删除null。要消除此错误,请使用 Dum::findOrFail($id);
  • 谢谢大家,我是 laravel 的新手。这非常有帮助

标签: laravel laravel-7


【解决方案1】:

只需确保您从数据库中获取模型实例即可:

public function destroy($id)
{

    $userr = Dum::find($id);
    if( $userr==null)
     {
        session()->flash('message', 'Deletion failed');
     }
         else
     {
        $userr ->delete();
        session()->flash('message', 'Delete Successfully');
      }
   
    return redirect()->route('user.list');
}

【讨论】:

  • 感谢您的帮助。我还是 laravel 的新手
  • 完成谢谢。我也是stackoverflow的新手;)
猜你喜欢
  • 2021-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-04
  • 2016-06-29
  • 2018-04-03
  • 2021-10-06
  • 2019-06-17
相关资源
最近更新 更多