雄辩的laravel:如何从-> get()获取行数
技术问答
807 人阅读
|
0 人回复
|
2023-09-14
|
当我发现如何使用这一集的数行时,我遇到了很多麻烦。! ?* l' i. U0 m) n! d. l# z) [) h* Q6 i
$wordlist = \DB::table('wordlist')->where('id','get();我试过,adding->count()但是没用。我试过。count($wordlist)。我不确定没有第二个请求。a->count()如何做方法。% d- I/ H5 _' J6 X- K5 T0 t7 Q
$ E/ i2 H b3 y: Y3 X- K: |
解决方案: 6 c! e+ s. H c
答案已更新
( j& H& W5 h+ H6 I4 q* h9 V9 Q4 ocount是一个Collection方法。查询构建器返回数组。因此,为了获得计数,您只需要像通常使用数组一样计数:2 {0 N* O1 ~0 v* a) \; f
$wordCount = count($wordlist);如果有单词列表模型,可以使用Eloquent来获取Collection,然后使用Collection的count例子:3 E! C" V6 d4 t: {. u" C
$wordlist = Wordlist::where('id','get();$wordCount = $wordlist->count();这里有/正在讨论让查询生成器返回一个集合:https
0 ?! f+ w8 g/ d( X1 z& g:
: J9 }2 t4 L1 z: r5 v J8 p//github.com/laravel/framework/issues/10478" f. Q- p% U" |" S8 f
但到目前为止,查询生成器总是返回一个数组。
5 C4 U' s, p( y, d" w编辑:以上链接,查询生成器现在返回集合(不是数组)。JP Foster最初尝试执行的操作将起作用:' R! \2 ?" a2 ]$ V- E
$wordlist = \DB::table('wordlist')->where('id','get();$wordCount = $wordlist->count();但是,正如Leon评论中指出,如果只需要计数,直接查询比获得整个集合和计数要快得多。换句话说,您可以执行以下操作:! y% n& @5 K1 [5 q! i
// Query builder$wordCount = \DB::table('wordlist')->where('id','count();// Eloquent$wordCount = Wordlist::where('id','count();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
|
|
|
|