Laravel 在null上调用成员函数increment()

Laravel 在null上调用成员函数increment(),laravel,content-management-system,crud,Laravel,Content Management System,Crud,当我使用$id呼叫post时,一切正常, 因为我改为$slug,所以它显示错误 Symfony\Component\Debug\Exception\FatalThroTableError (E_ERROR)调用null上的成员函数increment() 我将$id更改为slug后的控制器 public function showpost($slug) { $post = Post::published() ->where('slug', '=', $slug)->fi

当我使用$id呼叫post时,一切正常, 因为我改为$slug,所以它显示错误

Symfony\Component\Debug\Exception\FatalThroTableError (E_ERROR)调用null上的成员函数increment()

我将$id更改为slug后的控制器

public function showpost($slug)
{
    $post = Post::published()
    ->where('slug', '=', $slug)->first();

    $post->increment('view_count');

    return view("blog.showpost", compact('post'));
}
这是刀片锉

<div class="block-heading-1">
   <span class="text-muted mb-3 mt-5">
        <i class="fa fa-clock-o fa-lg"></i>&nbsp{{ $post->date }}
        <i class="fa fa-eye fa-lg"></i>{{ $post->view_count }}
        <i class="fa fa-comments-o fa-lg"></i>&nbsp{{ $post->comments->count() }}
   </span>
        <h1 class="mb-4" style="font-size: 20px; padding-top: 15px; margin-bottom: 0px; pad"> 
            {{ $post->title }}
       </h1>
</div>

 {{$post->date}
{{$post->view_count}
 {{$post->comments->count()}
{{$post->title}

如何修复它?

如果slug不存在,则雄辩地返回null,这样当post为null时,就不会在null模型上递增。请确保slug存在。

您的意思是表上存在吗?是的,使用此id进行测试。使用id和toArray查找并打印,确保您的slug确实存在于您的收藏中$post=post::find(1)->toArray();印刷(邮政);开发的重要提示:请在模型获得“始终”后检查“如果”。并且总是在try中使用catchslug是否存在于表中,并且表中是否有值。是否已发布?你在雄辩的询问中用身份证核对了吗?