首页 文章

Laravel count():参数必须是实现Countable的数组或对象

提问于
浏览
-1

在wamp我正在迁移laravel项目 . 当我在作曲家中运行此命令时 -

php artisan migrate --seed

它显示了这个错误:

在Builder.php第936行:count():参数必须是实现Countable的数组或对象

http://prntscr.com/j47gzs

这是PHP 7.2错误,但我使用的是PHP 7.1版本,但仍然出现计数错误 .

请帮忙修理它 .

1 回答

  • 0

    用最少的代码,我会去spitball . 问题最多(几乎肯定)可能在你的种子中 . 你错误地使用了count()函数/方法的地方 - 有充分的理由,你有几个选项可以混淆 .

    In PHP:

    假设我们有一个数组:

    $array = array('One', 'Two')
    

    现在我们想要使用 count() 函数找到其中的项目数:

    $length = count($array) // $length = 2
    

    你也可以使用 sizeof() ,它只是 count() 的别名

    $length = sizeof($array) // $length = 2
    

    In Laravel:

    Laravel Collection对象有一个方法 count() ,它基本上计算集合中可填充条目的数量 . 这是必要的,因为即使是'empty'集合也不一定会导致空集合对象 .

    如果您正在处理集合对象 $collection

    $length = $collection->count() // $length = 2
    

    这里最重要的一点是,如果您使用Eloquent查询来播种,或者在数组上使用collect()帮助器,那么请使用Laravel路由 . 否则,只需使用本机PHP函数 .

    希望这有帮助!

相关问题