为什么即时获取错误count():参数必须是在laravel中实现Countable的数组或对象?

时间:2019-11-12 06:41:34

标签: laravel scope

我试图在我的项目中定义一个本地范围,以在我的主页上显示流行的(下载最多的)...所以这是我的文件模型代码:

        public function scopePopular($query)
        {
        return $query->orderBy('file_download_num');
        }

您知道“ file_download_num”是数据库中试图从中获取数据的字段... 所以这就是我在HomeController中使用此范围的方式:

        $popularFiles = File::Popular()->get();

我没有在控制器或模型中使用count()方法!但是仍然出现错误!有什么建议吗? 注意:php版本是7.3

1 个答案:

答案 0 :(得分:-1)

我发现在控制器中添加toArray()方法可以帮助count()方法正确运行...它对我来说是有用的...所以控制器应该像这样:

$popularFiles = File::Popular()->get()->toArray();