Laravel 8删除功能不会抛出错误,但不起作用



当我按下删除按钮时,它成功地重定向了我,但没有删除数据库中的查询,我的代码如下:路线:

Route::resource('v_users', VUserController::class);

控制器:

public function destroy(request $request)
{  

v_users::destroy($request->id);
session()->flash('delete');   
return redirect()->route('v_users.index')
->with('success','User deleted successfully');
}

View.index:

<form action="{{ route('v_users.destroy',$v_users->id) }}" method="POST">

<a class="btn btn-info" href="{{ route('v_users.show',$v_users->id) }}">View QR Code</a>
<br>
<a class="btn btn-primary" href="{{ route('v_users.edit',$v_users->id) }}">Edit</a>
<br>
@csrf
@method('DELETE')

<button type="submit" class="btn btn-danger">Delete</button>
</form>

当将模型ID注入路由或控制器操作时,您通常会查询数据库以检索与该ID对应的模型。因此,在路由文件中,您必须创建一个声明的参数,如Route::get('/users/{v_user}', [UserController::class, 'delete'])

然后,在您的销毁方法中,您必须添加正在注入的模型

public function destroy(Request $request, v_user $user)
{  
$user->delete();
session()->flash('delete');   
return redirect()
->route('v_users.index')
->with('success','User deleted successfully');
}

路线

Route::resource('v_users', VUserController::class);

控制器

public function destroy(VUsers $v_users)
{  
VUsers->delete();
session()->flash('delete');   
return redirect()->route('v_users.index')
->with('success','User deleted successfully');
}

叶片

<form action="{{ route('v_users.destroy',$v_users->id) }}" method="POST">

@csrf
@method('DELETE')
<button type="submit" class="btn btn-danger">Delete</button>
</form>

相关内容

最新更新