答案已更新
count
是一种收集方法。查询生成器返回一个数组。因此,为了获得计数,您只需像通常使用数组一样对其进行计数:
$wordCount = count($wordlist);
如果你有一个单词列表模型,那么你可以使用Eloquent来获取一个集合,然后使用集合的方法。例:count
$wordlist = Wordlist::where('id', '<=', $correctedComparisons)->get();
$wordCount = $wordlist->count();
有一个关于让查询生成器返回集合的讨论:https://github.com/laravel/framework/issues/10478
但是,从现在开始,查询生成器始终返回一个数组。
编辑:如上链接所示,查询生成器现在返回一个集合(而不是数组)。因此,JP Foster最初试图做的事情将起作用:
$wordlist = \DB::table('wordlist')->where('id', '<=', $correctedComparisons)
->get();
$wordCount = $wordlist->count();
但是,正如Leon在评论中指出的那样,如果您想要的只是计数,那么直接查询它比获取整个集合然后获取计数要快得多。换句话说,您可以执行以下操作:
// Query builder
$wordCount = \DB::table('wordlist')->where('id', '<=', $correctedComparisons)
->count();
// Eloquent
$wordCount = Wordlist::where('id', '<=', $correctedComparisons)->count();