提问者:小点点

Laravel 5在销毁路线上缺少所需参数


我最近从Laravel5.1升级到了5.2,现在我得到了一个错误,缺少[Route:example.destroy][URI:example/{args}]所需的参数。

错误发生在这里:

以下是如何在路由上注册路由。php

Route::resource('example', 'ExampleController');

当我在5.1中时,这行代码没有错误。我刚升级到5.2,现在就出现了。

其功能是允许用户通过选中希望删除的复选框来删除多个条目。然后在提交时,它将重定向到控制器上的destroy方法。


共3个答案

匿名用户

你可以试试下面的方法

<form class="form-horizontal" action="<?php echo       
url('example'); ?>" method="post">

Route::post('example', 'ExampleController@destroy');

匿名用户

我有同样的问题时,更新我的应用程序Laravel 5.2。

显然,Laravel 5.2需要一个有效的路由来“破坏资源”,例如:

/my-route/item-to-destroy/{id}

在这里,在我们的应用程序中,我将在每条路由的末尾放置一个“{id}=0”或“{id}=null”(当调用尚未准备好的“路由销毁”时)。

在您的情况下,它将类似于:

<form action="<?php echo route('example_route.destroy', ['id'=>0]); ?>" method="post">

或者,声明一个有效的资源id:

<form action="<?php echo route('example_route.destroy', ['id'=>$object->id]); ?>" method="post">

匿名用户

试试这个:

<form class="form-horizontal" action="<?php echo route('example.destroy', $record->id); ?>" method="post">

或Laravel方式:

{!! Form::open(['route' => ['example.destroy', $record->id],
                                                'method' => 'delete']) !!}

{!! Form::close() !!}