我正在做一个laravel项目,我正在学习一门课程 . 一切都很顺利,直到我不得不在我的项目中添加“雄辩 - 缓慢” . 该包工作正常,但现在我的项目中出现以下错误:
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版本?任何帮助赞赏 .
5 回答
您正在尝试做的事情可以用https://laravel.com/docs/5.6/collections#method-count解决
这会转变你的
至
你可以尝试这个
首先,你不应该在你的控制器中使用:
但
并将其传递给视图
因为它的集合你应该使用复数变量名称,以避免混淆 .
现在在您的视图中,您应该使用:
在这里你可以做一些事情: -
您可以降级PHP版本 .
您可以在执行查询时更新语法: -
改变这一点
对此
我可以解决这个问题的唯一方法是在'vendor \ laravel \ framework \ src \ Illuminate \ Database \ Eloquent \ Builder.php'中编辑错误行1185:
我不知道这对未来的项目是否有害,但这是我让项目工作的唯一方法 .