雄辩的laravel:如何从-> get()获取行数
技术问答
593 人阅读
|
0 人回复
|
2023-09-14
|
当我发现如何使用这一集的数行时,我遇到了很多麻烦。" ^' _$ p2 L- V. `: e9 B5 U5 _
$wordlist = \DB::table('wordlist')->where('id','get();我试过,adding->count()但是没用。我试过。count($wordlist)。我不确定没有第二个请求。a->count()如何做方法。
$ L: C6 Q4 Q. X% O ; ?: w2 y9 _: G7 g" L7 T& Y2 L' E
解决方案: 3 G5 {+ D$ H8 q( C8 ~
答案已更新' D& A3 E% Y. F, O
count是一个Collection方法。查询构建器返回数组。因此,为了获得计数,您只需要像通常使用数组一样计数:
3 _- C4 V3 d# V# Q0 X; G$wordCount = count($wordlist);如果有单词列表模型,可以使用Eloquent来获取Collection,然后使用Collection的count例子:0 K5 R4 s j2 A! M0 @! X
$wordlist = Wordlist::where('id','get();$wordCount = $wordlist->count();这里有/正在讨论让查询生成器返回一个集合:https( P& m# E! s- r* J9 s$ |
:2 Y! _% q" U) s$ a
//github.com/laravel/framework/issues/10478
3 n$ A8 t: q+ ]1 u6 y# F* s2 e但到目前为止,查询生成器总是返回一个数组。) i: M4 _+ r# w/ O
编辑:以上链接,查询生成器现在返回集合(不是数组)。JP Foster最初尝试执行的操作将起作用:
2 u' p' f$ z4 X, N, D$wordlist = \DB::table('wordlist')->where('id','get();$wordCount = $wordlist->count();但是,正如Leon评论中指出,如果只需要计数,直接查询比获得整个集合和计数要快得多。换句话说,您可以执行以下操作:( Q2 O! k4 ?( _- K8 f
// Query builder$wordCount = \DB::table('wordlist')->where('id','count();// Eloquent$wordCount = Wordlist::where('id','count();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
|
|
|
|