Laravel5.6 "Call to a member function delete() on null ", 删除表中的一行

阿沙尔汗

我想从表中删除一行。我在控制器中使用的功能是:

public function destroy($id) {
    $category = Category::find($id);
    $category->delete();
    return redirect()->back();
} 

但是它给我一个错误:

在 null 上调用成员函数 delete()

当我使用此代码时:

public function destroy($id) {
    $category = Category::find($id);
    dd($id);
 } 

它显示了正确的 id,即

“1”

当我使用

public function destroy($id) {
    $category = Category::find($id);
    dd($category); // or
    dd(Category::find($id);
 } 

我得到输出

空值

屏幕上。

塞巴斯蒂安·拉森

如评论中所述,您收到的错误可能是由于给定 ID 的数据库中不存在类别。

然后,当您尝试查找该 ID 的类别时:

$category = Category::find($id);

的值$category变量是null因此,尝试在 上调用delete()方法时会出错null在幕后,它与执行以下操作相同:

null->delete();

哪个,不起作用。

您可以$category在尝试删除它之前检查它的值或者,在您的情况下,您可以使用查询来删除与给定条件匹配的所有记录id = $id这条路:

public function destroy($id)
{
    Category::where('id', $id)->delete();
    return redirect('/')->back();
}

有关其工作原理的详细信息,请参阅Eloquent 文档中的按查询删除模型

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在laravel5中使用memcached

来自分类Dev

在laravel5中使用memcached

来自分类Dev

laravel5中的路由问题

来自分类Dev

物理删除在laravel5中启用软删除的模型?

来自分类Dev

如何调用一批Laravel5命令?

来自分类Dev

如何在laravel5中访问域URL

来自分类Dev

Laravel5中的单元测试-错误

来自分类Dev

如何在Laravel5请求类中验证Money

来自分类Dev

Laravel5中查询引擎的本机SQL

来自分类Dev

laravel5中的路由无法正常工作

来自分类Dev

如何在Laravel5中对groupBy求和

来自分类Dev

引导程序在laravel5中不起作用

来自分类Dev

删除laravel中的一行后数据未获取

来自分类Dev

在Laravel5中使用雄辩模型获取表值

来自分类Dev

如何更新laravel表中的最后一行?

来自分类Dev

在Laravel5中无法插入一对一关系

来自分类Dev

Laravel5:RouteCollection.php第161行中的NotFoundHttpException

来自分类Dev

Laravel5:RouteCollection.php第161行中的NotFoundHttpException

来自分类Dev

Laravel5中的一对多关系无法正常工作

来自分类Dev

更正表格以获取laravel5中的最后一个用户ID

来自分类Dev

Laravel5 link_to_action在尝试删除文章时不起作用

来自分类Dev

Laravel5软删除时如何将相关表记录设为Null

来自分类Dev

Laravel5:为什么我的模型“媒体”需要名为“媒体”的表而不是“媒体”?

来自分类Dev

SQLSTATE[23000]:违反完整性约束:1452 无法添加或更新子行 (laravel5)

来自分类Dev

如何从Laravel5中的json类型响应中获取值

来自分类Dev

路由到Laravel5中控制器中的方法

来自分类Dev

Laravel5仅在Linux中显示默认页面...在Windows中同样有效

来自分类Dev

如何将文件从内存存储到Laravel5中的存储中?

来自分类Dev

Laravel5仅在Linux中显示默认页面...在Windows中同样有效

Related 相关文章

  1. 1

    在laravel5中使用memcached

  2. 2

    在laravel5中使用memcached

  3. 3

    laravel5中的路由问题

  4. 4

    物理删除在laravel5中启用软删除的模型?

  5. 5

    如何调用一批Laravel5命令?

  6. 6

    如何在laravel5中访问域URL

  7. 7

    Laravel5中的单元测试-错误

  8. 8

    如何在Laravel5请求类中验证Money

  9. 9

    Laravel5中查询引擎的本机SQL

  10. 10

    laravel5中的路由无法正常工作

  11. 11

    如何在Laravel5中对groupBy求和

  12. 12

    引导程序在laravel5中不起作用

  13. 13

    删除laravel中的一行后数据未获取

  14. 14

    在Laravel5中使用雄辩模型获取表值

  15. 15

    如何更新laravel表中的最后一行?

  16. 16

    在Laravel5中无法插入一对一关系

  17. 17

    Laravel5:RouteCollection.php第161行中的NotFoundHttpException

  18. 18

    Laravel5:RouteCollection.php第161行中的NotFoundHttpException

  19. 19

    Laravel5中的一对多关系无法正常工作

  20. 20

    更正表格以获取laravel5中的最后一个用户ID

  21. 21

    Laravel5 link_to_action在尝试删除文章时不起作用

  22. 22

    Laravel5软删除时如何将相关表记录设为Null

  23. 23

    Laravel5:为什么我的模型“媒体”需要名为“媒体”的表而不是“媒体”?

  24. 24

    SQLSTATE[23000]:违反完整性约束:1452 无法添加或更新子行 (laravel5)

  25. 25

    如何从Laravel5中的json类型响应中获取值

  26. 26

    路由到Laravel5中控制器中的方法

  27. 27

    Laravel5仅在Linux中显示默认页面...在Windows中同样有效

  28. 28

    如何将文件从内存存储到Laravel5中的存储中?

  29. 29

    Laravel5仅在Linux中显示默认页面...在Windows中同样有效

热门标签

归档