【发布时间】: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 的新手。这非常有帮助