php - Laravel 路由资源销毁不起作用

标签 php laravel

这是我的表格:

<form action="{{ route('invoice.destroy' , $invoice->id)}}" method="DELETE">
              <div class="modal-footer no-border">
                <button type="button" class="btn btn-info" data-dismiss="modal">No</button>
                <button type="submit" class="btn btn-primary">Yes</button>
               <input type="hidden" name="_method" value="DELETE" />

              </div>
              </form>

这是我的 Controller :

public function destroy($id)
{
    $invoice = Invoice::find($id);
    if(!$invoice){
        return redirect()->route('invoice.index')->with(['fail' => 'Page not found !']);
    }
    $invoice->delete();
    return redirect()->route('invoice.index')->with(['success' => 'Invoice Deleted.']);
}

但是不能删除问题出在哪里?如何解决这个问题?

最佳答案

您需要对表单使用POST 方法并添加名称为_method 和值为DELETEinput 元素.另外,添加 token :

<form action="{{ route('invoice.destroy' , $invoice->id)}}" method="POST">
    <input name="_method" type="hidden" value="DELETE">
    {{ csrf_field() }}

    <div class="modal-footer no-border">
        <button type="button" class="btn btn-info" data-dismiss="modal">No</button>
        <button type="submit" class="btn btn-primary">Yes</button>
    </div>
</form>

关于php - Laravel 路由资源销毁不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39916547/

相关文章:

mysql - 如何使用 Laravel 的 eloquent 使非主列在返回的结果集中唯一?

php - 向 PHP 发送动态数据

php - Laravel 5 如何从生产模式切换

php - Laravel session ID 随每个请求而变化

php - Laravel 5 网站和 API 使用相同的应用程序

php - Laravel - 如何使用查询生成器或 Eloquent 添加 JOIN 和 CASE-WHEN?

php+nginx+vagrant - php 无法写入

php - 查询中的联合无法正常工作

PHP字符串问题

php - Eloquent 同步和 created_at/updated_at