为了账号安全,请及时绑定邮箱和手机立即绑定

如果表为空,如何阻止laravel出错

如果表为空,如何阻止laravel出错

PHP
翻翻过去那场雪 2021-09-05 20:56:30
如果表返回 null,我希望我的代码继续工作我尝试使用 if(empty) bla bla bla,但似乎不是问题问题是 Laravel 不要让我在 null 上调用函数@php($article = article::find($id)->get())错误:“在 null 上调用成员函数 get()”
查看完整描述

2 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

如果aritcle::find($id)返回null,应该可以解决问题:


@if($article = article::find($id) != null)

    // If the aricle::find($id) returns anything but null, this block will be reached.

@endif

我认为最好将数据从控制器发送到视图,而不是使用刀片指令来获取数据。


像这样:


//Within some controller:

public function show($id)

{

    $article = article::find($id);

    return view('your-view')->with($article);

}

然后您可以$article使用刀片检查是否为空:


@if(empty($article))

    // The article is empty

@endif


查看完整回答
反对 回复 2021-09-05
?
Helenr

TA贡献1780条经验 获得超4个赞

使用->get()afterfind()是不必要的。find()自动返回与提供的主键匹配的模型。如果您$articlefind()失败后尝试访问,您将收到错误消息,但它会阻止您收到您发布的错误消息。


查看完整回答
反对 回复 2021-09-05
  • 2 回答
  • 0 关注
  • 144 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信