【发布时间】:2019-02-26 15:44:33
【问题描述】:
我目前正在从事 Laravel 项目,并且正在学习一门课程。一切都很顺利,直到我不得不将eloquent-sluggable 添加到我的项目中。该软件包工作正常,但现在我的项目中出现以下错误:
count():参数必须是数组或者实现了Countable的对象
在我看来,我正在使用 count() 函数:
@if($comments->count() > 0)
@forech($comments as $comment)
//displaying single comment data
@endforeach
@endif
现在我的问题是,为什么现在会显示该错误。难道是因为我在我的项目中做了composer update,它把我的PHP版本更新为7.2,而那个版本有count()的问题?我猜>= 符号改变了我的 PHP 版本。我目前的 Laravel 项目配置:
"php": ">=5.5.9",
"laravel/framework": "5.2.*"
但是当我在我的项目中运行“php -v”时,它显示我的 PHP 版本现在是 7.2。有没有办法可以在不丢失项目文件的情况下降级我的 PHP 版本?任何帮助表示赞赏。
【问题讨论】:
-
什么是“$comment”?
-
您传递的是对象而不是数组。 Count( ) 函数只计算数组。首先将其转换为数组。
-
我将所有 cmets 放入控制器中的该变量中:$comment = Comment::all();
标签: php laravel laravel-5 count laravel-blade