删除Laravel中的记录

时间:2018-10-25 09:04:10

标签: laravel

我是laravel的新手,我正在做一个项目。在项目中,我有一个带有记录的表。我在表的每一行中都有一个删除按钮。当我单击此按钮时,我希望它删除记录,但是它不起作用。当我单击删除按钮时,它会将我发送到另一个页面,并给我404错误。如果有人可以帮助我解决我的问题,我真的很感激。

我的观点:

<body>
    <div class="spelers">
    @if (count ($spelers) > 0)
        <table id="table" class="table table-hover">
            <thead>
                <th scope="col">Selectie</th>
                <th scope="col"></th>
            </thead>
        @foreach ($spelers as $speler)
            <tr><td><a>{{{ $speler->speler_naam }}}</a></td><td><img src="../../img/edit.png" alt=""></a></td><td><a href="delete/{{ $speler->id }}"><img src="../../img/delete2.png" alt=""></a></td></tr>
        @endforeach
        </table>
    @else
        Er zijn helaas geen clubs beschikbaar
    @endif
    </div>
</div>

我的控制器:

public function Destroy($id)
{
    SpelerSelectie::where('id', $id)->delete();

    return redirect ('/');
}

我的路线:

Route::get('/delete/{id}', 'VoetbalController@Destroy');

4 个答案:

答案 0 :(得分:2)

由于您在没有delete的情况下进行了/,因此该链接将附加您当前所在的页面。因此,如果您使用的是/test,则该网址为/test/delete

要确保始终以正确的URL路径结尾,您只需根据操作即可在刀片文件中生成URL。看起来像这样:

更改

<a href="delete/{{ $speler->id }}">

收件人

<a href="{{ action('VoetbalController@destroy', $speler->id) }}">

您现在还可以更改路线,链接仍将正确显示。

让我知道如何解决这个问题。

答案 1 :(得分:1)

使用命名路由,可以方便地生成URL或特定路由的重定向。

路线:

Route::get('delete/{id}', 'VoetbalController@destory')->name('voetbal.destroy');

致电:

<a href="{{ route('voetbal.destroy', $speler->id) }}">Delete</a>

答案 2 :(得分:0)

更改

<a href="delete/{{ $speler->id }}">

收件人

<a href="/delete/{{ $speler->id }}">

希望这会对您有所帮助。

答案 3 :(得分:0)

您的网址似乎没有正确生成。

使用此辅助方法生成网址。

url()

<a href="{{ url('delete/') . $speler->id }}">