在wamp我正在迁移laravel项目。当我在作曲家中运行此命令时 -
php artisan migrate --seed
它显示了这个错误:
在Builder.php第936行中:count():参数必须是数组或实现Countable的对象
这是PHP 7.2错误,但我使用的是PHP 7.1版本但仍然得到计数错误。
请帮忙修理它。
用最少的代码,我会去spitball。问题最多(几乎肯定)可能在你的种子中。你错误地使用count()函数/方法的某个地方 - 有充分的理由,你有几个选项可以混淆。
在PHP中:
假设我们有一个数组:
$array = array('One', 'Two')
现在我们想使用count()
函数找到它中的项目数:
$length = count($array) // $length = 2
你也可以使用sizeof()
,它只是count()
的别名
$length = sizeof($array) // $length = 2
在Laravel:
Laravel Collection对象有一个方法count()
,它基本上计算集合中可填充条目的数量。这是必要的,因为即使是“空”集合也不一定会导致空集合对象。
如果您正在处理集合对象$collection
:
$length = $collection->count() // $length = 2
这里最重要的一点是,如果您使用Eloquent查询来播种,或者在数组上使用collect()帮助器,那么请使用Laravel路由。否则,只需使用本机PHP函数。
希望这有帮助!