Tengo muchos problemas para descubrir cómo usar esta colección para contar filas.
$wordlist = \DB::table('wordlist')->where('id', '<=', $correctedComparisons)
->get();
Yo he tratado adding->count()
pero no funcionó. he intentado hacer count($wordlist)
. No estoy muy seguro de qué hacer sin necesitar una segunda solicitud como a->count()
método.
La respuesta ha sido actualizada
count
es un método de colección. El generador de consultas devuelve una matriz. Entonces, para obtener el conteo, solo lo contaría como lo haría normalmente con una matriz:
$wordCount = count($wordlist);
Si tiene un modelo de lista de palabras, puede usar Eloquent para obtener una Colección y luego usar la Colección. count
método. Ejemplo:
$wordlist = Wordlist::where('id', '<=', $correctedComparisons)->get();
$wordCount = $wordlist->count();
Hay/hubo una discusión sobre cómo hacer que el generador de consultas devuelva una colección aquí: https://github.com/laravel/framework/issues/10478
Sin embargo, a partir de ahora, el generador de consultas siempre devuelve una matriz.
Editar: como se vinculó anteriormente, el generador de consultas ahora devuelve una colección (no una matriz). Como resultado, lo que JP Foster intentaba hacer inicialmente funcionará:
$wordlist = \DB::table('wordlist')->where('id', '<=', $correctedComparisons)
->get();
$wordCount = $wordlist->count();
Sin embargo, como lo indica Leon en los comentarios, si todo lo que desea es el conteo, consultarlo directamente es mucho más rápido que obtener una colección completa y luego obtener el conteo. En otras palabras, puedes hacer esto:
// Query builder
$wordCount = \DB::table('wordlist')->where('id', '<=', $correctedComparisons)
->count();
// Eloquent
$wordCount = Wordlist::where('id', '<=', $correctedComparisons)->count();
Obtener directamente un recuento de filas
usando elocuente
//Useing Eloquent
$count = Model::count();
//example
$count1 = Wordlist::count();
Uso del generador de consultas
//Using query builder
$count = \DB::table('table_name')->count();
//example
$count2 = \DB::table('wordlist')->where('id', '<=', $correctedComparisons)->count();
Es mejor acceder al conteo con el método de conteo de laravels
$count = Model::where('status','=','1')->count();
o
$count = Model::count();
Además, puede obtener todos los datos y contarlos en el archivo blade. por ejemplo:
tu código en el controlador
$posts = Post::all();
return view('post', compact('posts'));
su código en el archivo blade.
{{ $posts->count() }}
finalmente, puedes ver el total de tus publicaciones.