Maison > Questions et réponses > le corps du texte
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
P粉5365327812024-04-02 09:51:57
Pour autant que je sache, quand vous essayez quelque chose comme ça
$run = DB::from('users')->get()->count();
Vous obtenez tous les utilisateurs et le nombre d'utilisateurs php/laravel, ce qui signifie
$users = DB::from('users')->get(); // get all users $usersConut = $users->count(); //count them away of database/mysql
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 packagebarryvdh/laravel-debugbar
pour vous aider à visualiser les requêtes de base de données.