雄辩的laravel:如何从-> get()获取行数
技术问答
293 人阅读
|
0 人回复
|
2023-09-14
|
当我发现如何使用这一集的数行时,我遇到了很多麻烦。
: | C4 [" S' t# e2 v5 I$wordlist = \DB::table('wordlist')->where('id','get();我试过,adding->count()但是没用。我试过。count($wordlist)。我不确定没有第二个请求。a->count()如何做方法。
8 D. X. L" h& L6 { n5 V% F) V4 x4 C( u [
解决方案:
' P$ ]$ h2 g `. h" v1 u! j 答案已更新$ F7 V$ a, r/ q+ x3 N- g' ]7 r
count是一个Collection方法。查询构建器返回数组。因此,为了获得计数,您只需要像通常使用数组一样计数:
# p. I' l! A$ n- R1 [$wordCount = count($wordlist);如果有单词列表模型,可以使用Eloquent来获取Collection,然后使用Collection的count例子:
+ O+ h3 q' U' A% ^3 \- v$wordlist = Wordlist::where('id','get();$wordCount = $wordlist->count();这里有/正在讨论让查询生成器返回一个集合:https
! X2 E4 c8 S7 ~; K8 w/ G! U+ w" Q:
( @, L0 T$ p. y( v P" @/ I//github.com/laravel/framework/issues/104783 y' E( j+ `! S' u
但到目前为止,查询生成器总是返回一个数组。
2 Z2 a, X. w) B3 j1 [/ l0 K编辑:以上链接,查询生成器现在返回集合(不是数组)。JP Foster最初尝试执行的操作将起作用:: d3 {' Y' A4 \
$wordlist = \DB::table('wordlist')->where('id','get();$wordCount = $wordlist->count();但是,正如Leon评论中指出,如果只需要计数,直接查询比获得整个集合和计数要快得多。换句话说,您可以执行以下操作:& O, T5 h, U- W- K; F A; c/ f
// Query builder$wordCount = \DB::table('wordlist')->where('id','count();// Eloquent$wordCount = Wordlist::where('id','count();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
|
|
|
|