Mysql Laravel从多对多数据透视表中删除单个数据

Mysql Laravel从多对多数据透视表中删除单个数据,mysql,laravel,routing,laravel-5.5,Mysql,Laravel,Routing,Laravel 5.5,我正在尝试删除透视表中的单个项目,,但我不知道如何使其工作?可能吗?如果我的方法错了,请纠正我。下面我将展示我自己的方法 这将获取属于术语id的附加级别列表,当您单击“编辑”按钮时,将转到第二页。。 现在显示属于术语_id的级别,如果要删除该级别,可以在此处选中复选框。 下面是我的问题: 如果选中特定复选框,如何删除所选级别 在我的表单操作中,我应该放置什么路径,以便将其指向delete函数 我需要在路由器中创建Route::post吗?执行删除操作 这是我的控制器: public fun

我正在尝试删除透视表中的单个项目,,但我不知道如何使其工作?可能吗?如果我的方法错了,请纠正我。下面我将展示我自己的方法

这将获取属于术语id的附加级别列表,当您单击“编辑”按钮时,将转到第二页。。

现在显示属于术语_id的级别,如果要删除该级别,可以在此处选中复选框。

下面是我的问题:

  • 如果选中特定复选框,如何删除所选级别
  • 在我的表单操作中,我应该放置什么路径
    ,以便将其指向delete函数
  • 我需要在路由器中创建Route::post吗?执行删除操作
  • 这是我的控制器:

     public function edit_term($id){
    
    $terms = Term::with('level')->where('id','=',$id)->get();
    return view('term_level.edit',compact('terms'));}
    
     public function detach_term($id)
    {//this is for deleting the data}
    
    Route::get('term/get/{id}/edit', 'ListController@edit_term');
    
    
    Route::post('term/get/{id}/edit', 'ListController@detach_term');
    
    这是我的路线:

     public function edit_term($id){
    
    $terms = Term::with('level')->where('id','=',$id)->get();
    return view('term_level.edit',compact('terms'));}
    
     public function detach_term($id)
    {//this is for deleting the data}
    
    Route::get('term/get/{id}/edit', 'ListController@edit_term');
    
    
    Route::post('term/get/{id}/edit', 'ListController@detach_term');
    
    刀片:

    {{csrf_field()}
    @foreach($terms作为$term)
    @foreach($term->level as$levels>
    {{$levels->levelname}
    @endforeach
    @endforeach
    
    您需要在“分离”术语中使用
    术语
    id和
    级别
    id

    路线

    Route::post('term/{id}/deleteLevel', 'ListController@detach_term');
    
    控制器动作

    public function detach_term(Request $request, $id)
    {
       $term = Term::with('level')->find($id);
    
       if($term){
          $postData = $request->all();
          $term->level()->detach($postData['level_id']);
          return redirect('term/get/' . $term->id);
       }else{
          abort(400, 'Invalid term');
       }
    
    }
    
    Html表单(term/get/2/edit)(请确保已将
    $term
    从控制器发送到视图)

    
    {{csrf_field()}}
    @foreach($term->level as$levels>
    {{$levels->levelname}
    @endforeach
    删除
    

    选中

    附加/分离添加有问题的html表单代码。然后我会相应地更改它,有不同的方式将数据从
    表单
    发送到
    控制器
    。我需要查看您的html代码为什么添加为图像,您应该将其添加为文本,以便我可以复制和修改它。请添加文本并删除图像。对不起wait@Grace我已经更新了所有路线、控制器动作部分和添加的表单检查,然后发送给我们。