【问题标题】:trouble with deleting a record with laravel delete function使用 laravel 删除功能删除记录的问题
【发布时间】:2017-05-11 08:58:31
【问题描述】:

我对 laravel 和删除有疑问。 基本上这应该从数据库中删除一行但是当我单击删除时它会将我重定向回来但它不会删除它应该删除的内容 这是我正在处理的代码

            <div class="list-group">
                @forelse($categories as $category) 

                <h4>{{$category->name}}</h4>

                <form action="{{route('categories.destroy', $category->id)}}" method="POST" class="inline-it">
                    {{csrf_field()}}
                    {{method_field('DELETE')}}
                    <input class="btn btn-xs btn-danger" type="submit" value="Delete">
                </form>

                <hr>

                @empty
                    <h5> - No categories.</h5>
                @endforelse
            </div> 

路线:

Route::resource('/categories','CategoriesController');

控制器:

public function destroy(Categories $categories)
{
    $categories->delete();
    return back();
}

编辑 dd https://pastebin.com/s41djcUH

edit

【问题讨论】:

  • 你在使用软删除吗?
  • 不,我没有使用软删除。
  • 在控制器操作中打印 $categories 并查看您是否正在获取 Category 对象。打印后请在此处添加输出。
  • 打印后请在此处添加输出:dd($categories);在破坏行动中。
  • 代码看起来很完美。打印 $categories->id 并查看该 id 是否在 db 中。

标签: php mysql laravel frameworks


【解决方案1】:

只需用 $category 更改 $categories

public function destroy(Categories $category)
{
    $category->delete();
    return back();
}

对于隐式路由模型绑定: https://laravel.com/docs/master/routing#route-model-binding

Laravel 自动解析在路由或控制器操作中定义的 Eloquent 模型,其类型提示的变量名称匹配路由段名称。

【讨论】:

  • 很高兴为您提供帮助。
猜你喜欢
  • 1970-01-01
  • 2018-07-02
  • 2019-09-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-18
  • 2019-07-31
  • 1970-01-01
  • 2018-11-08
相关资源
最近更新 更多