C’est difficile d’expliquer exactement ce que je veux, mais je dois essayer…
Laravel Eloquent m'a inspiré pour écrire une classe php simple pour utiliser la base de données.
Pour autant que nous sachions, nous pouvons faire cela dans Laravel :
$run = DB::table('users')->where('id', 3)->where('level', 2)->get();
Nous faisons cela aussi :
$run = DB::table('users')->where('id', 3)->where('level', 2)->get()->count();
Nous pouvons aussi faire ceci :
$run = DB::table('users')->where('id', 3)->where('level', 2)->get()->first();
Nous pouvons le faire aussi :
$run = DB::table('users')->where('id', 3)->where('level', 2)->get()->pluck('id')->toArray();
Je ne l'ai jamais essayé, mais je crois que ça marche aussi :
$run = DB::table('users')->where('id', 3)->where('level', 2)->get()->pluck('id')->toArray()->first();
La question est "Comment ça marche ?"
Comment dois-je écrire ceci pour renvoyer des résultats appropriés de quelque manière que ce soit ?
// It was easy to write my code to return total results if I write like that $run = DB::from('users')->where('id', 3)->where('level', 2)->get()->count(); // Or to return first result if I write like that $run = DB::from('users')->where('id', 3)->where('level', 2)->get()->first(); // But what sould I do to return all the results if write like that (As eloquent works). $run = DB::from('users')->where('id', 3)->where('level', 2)->get();
J'ai besoin de quelque chose comme "si - sinon, cas pour la méthode" comme :
function __construct() { if(if aint`t no calling any methods except **get()** ){ // Lets return default method return $this->results(); } else{ // Do whatever... } }
Voici mon code complet :
https://github.com/amirandev/PHP-OOP-DB-CLASS/blob/main/db.php
Pour autant que je sache, quand vous essayez quelque chose comme ça
Vous obtenez tous les utilisateurs et le nombre d'utilisateurs php/laravel, ce qui signifie
est la même chose que
first()
Lorsque vous utilisez ce code
DB::from('users')->count();
, vous demandez en fait les décomptes à MySql plutôt que de les compter sur le backend.Je recommande fortement d'utiliser ce package
barryvdh/laravel-debugbar
pour vous aider à visualiser les requêtes de base de données.