Heim > Fragen und Antworten > Hauptteil
Es ist schwer genau zu erklären, was ich will, aber ich muss es versuchen...
Laravel Eloquent hat mich dazu inspiriert, eine einfache PHP-Klasse zur Nutzung der Datenbank zu schreiben.
Soweit wir wissen, können wir dies in Laravel tun:
$run = DB::table('users')->where('id', 3)->where('level', 2)->get();
Das machen wir auch:
$run = DB::table('users')->where('id', 3)->where('level', 2)->get()->count();
Das können wir auch machen:
$run = DB::table('users')->where('id', 3)->where('level', 2)->get()->first();
Wir schaffen das auch:
$run = DB::table('users')->where('id', 3)->where('level', 2)->get()->pluck('id')->toArray();
Ich habe es noch nie ausprobiert, aber ich glaube, dass es auch funktioniert:
$run = DB::table('users')->where('id', 3)->where('level', 2)->get()->pluck('id')->toArray()->first();
Die Frage ist „Wie funktioniert es?“
Wie soll ich das schreiben, um in irgendeiner Weise angemessene Ergebnisse zu liefern?
// 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();
Ich brauche so etwas wie „Wenn – sonst Fall für Methode“ wie:
function __construct() { if(if aint`t no calling any methods except **get()** ){ // Lets return default method return $this->results(); } else{ // Do whatever... } }
Das ist mein vollständiger Code:
https://github.com/amirandev/PHP-OOP-DB-CLASS/blob/main/db.php
P粉5365327812024-04-02 09:51:57
据我所知,当你尝试类似的事情时
$run = DB::from('users')->get()->count();
您获得所有用户和 php/laravel 计数用户,这意味着
$users = DB::from('users')->get(); // get all users $usersConut = $users->count(); //count them away of database/mysql
与 first()
相同
当您使用此代码 DB::from('users')->count();
时,您实际上是在向 MySql 询问计数,而不是在后端对它们进行计数。
我强烈建议使用这个包barryvdh/laravel-debugbar
来帮助您查看数据库奎里斯。