从数据透视表中删除项目

时间:2017-03-30 11:45:55

标签: laravel

我尝试从透视查询中删除项目,并且我不确定我是否采用了正确的方法。

在这里我对一些"足球场的看法"对于一个结构(俱乐部)

结构可以有很多的立场和stade有很多结构

这里我的模特Stade:

public function structures()
    {
        return $this->belongsToMany('App\Structure');
    }

这里我的模型结构:

 public function stades(){

        return $this->belongsToMany('App\Stade');

    }

我的数据透视表就像:

structure_id 
stade_id




@foreach($club->stades as $stade)
                        <tr>
                            <th>{{$stade->lb_nom}}</th>
                            <th>{{$stade->adresse_stade}}</th>
                            <th>{{$stade->ville_stade}}</th>
                            <th>{{$stade->cd_post_stade}}</th>
                            <th>{{$stade->tel_stade}}</th>
                            <th>
                                {{ Form::open(['method' => 'DELETE', 'route' => ['club.stade.destroy', $club->id , $stade->id ]]) }}
                                {{ Form::submit('Delete', ['class' => 'btn btn-danger']) }}
                                {{ Form::close() }}


                            </th>
                        </tr>
                        @endforeach

我可以在没有任何问题的情况下向结构插入新的stade

 public function store(Request $request , $id){

    $stade_structure = new ClubStade;

    $structure =  Structure::findOrFail($id);

    $stade_structure->structure_id = $structure->id;

    $stade_structure->stade_id = $request->input('stade_id');

    $stade_structure->save();

        return back()->with('status', "Un nouveau stade à été ajouté pour votre Club ! ");
    }

但现在我想从表中分离或删除记录。我需要制作删除功能吗?

提前多多感谢

1 个答案:

答案 0 :(得分:1)

detach()正在寻找:

这将仅从数据透视表中删除项目。

如果要删除相关模型,则必须使用delete方法。 Click here for more detail