J'ai beaucoup de mal à comprendre comment utiliser cette collection pour compter les lignes.
$wordlist = \DB::table('wordlist')->where('id', '<=', $correctedComparisons)
->get();
J'ai essayé adding->count()
mais je n'ai pas fonctionné. J'ai essayé de faire count($wordlist)
. Je ne sais pas vraiment quoi faire sans avoir besoin d'une deuxième requête en tant que méthode a->count()
.
La réponse a été mise à jour
count
est une méthode Collection. Le générateur de requêtes renvoie un tableau. Donc, pour obtenir le nombre, vous devez simplement le compter comme vous le feriez normalement avec un tableau:
$wordCount = count($wordlist);
Si vous avez un modèle de liste de mots, vous pouvez utiliser Eloquent pour obtenir une collection, puis utiliser la méthode count
de la collection. Exemple:
$wordlist = Wordlist::where('id', '<=', $correctedComparisons)->get();
$wordCount = $wordlist->count();
Il y a/était une discussion sur le fait que le générateur de requêtes retourne une collection ici: https://github.com/laravel/framework/issues/10478
Cependant, à partir de maintenant, le générateur de requêtes renvoie toujours un tableau.
Modifier: Comme indiqué ci-dessus, le générateur de requêtes renvoie désormais une collection (et non un tableau). En conséquence, ce que JP Foster essayait de faire initialement fonctionnera:
$wordlist = \DB::table('wordlist')->where('id', '<=', $correctedComparisons)
->get();
$wordCount = $wordlist->count();
Cependant, comme indiqué par Leon dans les commentaires, si tout ce que vous voulez, c'est le nombre, alors l'interroger directement est beaucoup plus rapide que de récupérer une collection entière puis d'obtenir le nombre. En d'autres termes, vous pouvez le faire:
// Query builder
$wordCount = \DB::table('wordlist')->where('id', '<=', $correctedComparisons)
->count();
// Eloquent
$wordCount = Wordlist::where('id', '<=', $correctedComparisons)->count();
Obtenez directement un nombre de lignes
en utilisant Eloquent
//Useing Eloquent
$count = Model::count();
//example
$count1 = Wordlist::count();
en utilisant le générateur de requêtes
//Using query builder
$count = \DB::table('table_name')->count();
//example
$count2 = \DB::table('wordlist')->where('id', '<=', $correctedComparisons)->count();
Il est préférable d'accéder au dénombrement avec la méthode de dénombrement des larves
$count = Model::where('status','=','1')->count();
ou
$count = Model::count();