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

如果表返回 null,我希望我的代码继续工作

我尝试使用 if(empty) bla bla bla,但似乎不是问题

问题是 Laravel 不要让我在 null 上调用函数

@php($article = article::find($id)->get())

错误:“在 null 上调用成员函数 get()”


翻翻过去那场雪
浏览 145回答 2
2回答

慕桂英3389331

如果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

Helenr

使用->get()afterfind()是不必要的。find()自动返回与提供的主键匹配的模型。如果您$article在find()失败后尝试访问,您将收到错误消息,但它会阻止您收到您发布的错误消息。
打开App,查看更多内容
随时随地看视频慕课网APP