在 null 上调用成员函数 diffForHumans()(视图:

我有热点新闻按钮可以将帖子设为热点新闻当我将帖子设为热点新闻时它工作正常但是当我没有任何热点新闻帖子时它会出现此错误。


<div class="feature_article_inner">


    <div class="tag_lg red">

        <a href="{{ url('/details') }}/{{ $hot_news['slug'] }}">Hot News</a>

    </div>



    <!-- feature_article_title -->

    <div class="feature_article_title">

        <h1><a href="{{ url('/details') }}/{{ $hot_news['slug'] }}" target="_self">{{ $hot_news['title'] }} </a></h1>

    </div>



    <!-- feature_article_date -->

    <div class="feature_article_date">

        by: <a href="{{ url('/author') }}/{{ $hot_news['creator']['id'] }}">{{ $hot_news['creator']['name'] }}</a> ,

        &nbsp;{{ $hot_news['created_at']->diffForHumans() }} </a></div>



    <div style="font-size: 9.5pt; color: black; "> Views: {{ $hot_news['view_count'] }} </div>



    <!-- feature_article_content -->

    <div class="feature_article_content">

        {{ $hot_news['short_description'] }}

    </div>



    <!-- article_social -->

    <div class="article_social">

        <span>

            <i class="fas fa-comment"></i>

            <a href="{{ url('/details') }}/{{ $hot_news['slug'] }}">

                {{ $hot_news['comments_count'] }} Comments

            </a>

        </span>

    </div>


</div>


不负相思意
浏览 103回答 2
2回答

侃侃无极

查询构建器将日期作为字符串返回,您需要在使用它们之前进行解析,否则您将收到类似 PHP 错误的错误。解决方案 :因为您的 created_at 是一个字符串,所以您必须解析它以使 Carbon 工作并修复它调用成员函数{{\Carbon\Carbon::parse($hot_news['created_at'])->diffForHumans()&nbsp;}}

牧羊人nacy

尽管 Muhammad 的回答是正确的,但我通常将这种类型的转换直接添加到我的 Model::class 中。这将确保我的解析日期的代码永远不会重复。所以将来如果我想改变日期格式,我只需要在这里改变它就可以了。use Carbon\Carbon;public function getCreatedAtAttribute($date){    return Carbon::parse($date)->diffForHumans();}
打开App,查看更多内容
随时随地看视频慕课网APP