Heim > PHP-Framework > Laravel > Hauptteil

Laravel-Entwicklung: Wie verwende ich Eloquent ORM für Datenbankabfragen?

WBOY
Freigeben: 2023-06-14 12:47:41
Original
1499 Leute haben es durchsucht

Laravel ist ein beliebtes PHP-Entwicklungsframework, das eine Reihe von Tools und Hilfsfunktionen bereitstellt, um die Entwicklung von Webanwendungen zu beschleunigen. Unter diesen ist Eloquent ORM eines der Tools, die für Datenbankoperationen im Laravel-Framework verwendet werden und es Laravel-Entwicklern ermöglichen, die Datenbank schneller abzufragen und zu betreiben. In diesem Artikel befassen wir uns mit der Verwendung von Eloquent ORM für Datenbankabfragen.

  1. Eloquent ORM installieren

Zuerst müssen wir Eloquent ORM in unserer Laravel-Anwendung installieren. Wir können Eloquent ORM über Composer installieren, das Terminal öffnen, den Ordner eingeben, in dem sich das Laravel-Projekt befindet, und den folgenden Befehl eingeben:

composer require illuminate/database
Nach dem Login kopieren

Nach Abschluss der Installation müssen wir die Datenbankverbindung in config/database.php festlegen , wie unten gezeigt:

'connections' => [

    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8mb4',
        'collation' => 'utf8mb4_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
    ],

],
Nach dem Login kopieren

Wir müssen auch die relevanten Informationen der Datenbankverbindung in der .env-Datei festlegen, wie unten gezeigt:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
Nach dem Login kopieren
  1. Definieren Sie das Modell

Wir benötigen Eloquent ORM zur Durchführung von Datenbankabfragen um zunächst das Modell zu definieren. Modell bezieht sich auf die PHP-Klasse, die die Datenbanktabelle darstellt. In Laravel können wir das Modell über den Befehl artisan wie folgt generieren:

php artisan make:model User
Nach dem Login kopieren

Dadurch wird ein Modell mit dem Namen „User“ erstellt, das standardmäßig der Benutzertabelle in der Datenbank zugeordnet wird. Wenn Sie eine Zuordnung zu einer anderen Tabelle vornehmen möchten, geben Sie den Tabellennamen im Modell mithilfe des Attributs $table an.

class User extends Model
{
    protected $table = 'my_users';
}
Nach dem Login kopieren
  1. Abfragen von Daten

Sobald das Modell definiert ist, können wir Eloquent ORM verwenden, um die Datenbank abzufragen. Im Folgenden sind einige häufig verwendete Abfrageoperationen aufgeführt:

(1) Alle Datensätze abfragen

$users = User::all();
Nach dem Login kopieren

(2) Einen einzelnen Datensatz basierend auf der ID abfragen

$user = User::find(1);
Nach dem Login kopieren

(3) Die Ergebnismenge basierend auf anderen Bedingungen abfragen

$users = User::where('name', 'John')->get();
Nach dem Login kopieren

Wir können hinzufügen in der where-Methode Eine Reihe von Einschränkungen, z. B. gleich, ungleich, größer als, kleiner als, in usw.

$users = User::where('name', '=', 'John')->get();
$users = User::where('age', '>', 18)->get();
$users = User::whereIn('id', [1, 2, 3])->get();
Nach dem Login kopieren

(4) Sortieren

$users = User::orderBy('name', 'desc')->get();
Nach dem Login kopieren

(5) Fragen Sie die angegebene Spalte ab

$users = User::select('name', 'email')->get();
Nach dem Login kopieren

Wir können mehrere Parameter in der Select-Methode übergeben, jeder Parameter stellt den Namen der abzufragenden Spalte dar.

(6) Begrenzen Sie die Ergebnismenge

$users = User::skip(10)->take(5)->get();
Nach dem Login kopieren

Wir können die Skip- und Take-Methoden verwenden, um Paging zu implementieren. Die Skip-Methode wird verwendet, um eine bestimmte Anzahl von Datensätzen zu überspringen, und die Take-Methode wird verwendet, um eine bestimmte Anzahl von Datensätzen zurückzugeben .

(7) Aggregatfunktionen verwenden

$avg_age = User::avg('age');
$max_age = User::max('age');
$min_age = User::min('age');
$count = User::count();
Nach dem Login kopieren

Wir können einige Aggregatfunktionen verwenden, wie z. B. Durchschnitt, Max, Min, Anzahl usw.

  1. Daten aktualisieren

Mit Eloquent ORM können wir zum Aktualisieren eines Datensatzes zunächst den Datensatz abfragen und dann die Speichermethode für die Modellinstanz aufrufen.

$user = User::find(1);
$user->name = 'John';
$user->save();
Nach dem Login kopieren

Wir können auch die Update-Methode verwenden, um mehrere Datensätze zu aktualisieren:

User::where('active', 1)->update(['status' => 'inactive']);
Nach dem Login kopieren
  1. Daten löschen

Mit Eloquent ORM können wir zum Löschen eines Datensatzes zuerst den Datensatz abfragen und dann die Löschmethode für die Modellinstanz aufrufen.

$user = User::find(1);
$user->delete();
Nach dem Login kopieren

Wir können auch die Methode destroy verwenden, um mehrere Datensätze zu löschen:

User::destroy([1, 2, 3]);
Nach dem Login kopieren

Dadurch werden die Datensätze mit den IDs 1, 2 und 3 gelöscht.

  1. Zusammenfassung

In diesem Artikel haben wir detailliert beschrieben, wie Sie Eloquent ORM für Datenbankabfragen verwenden. Eloquent ORM ist ein sehr leistungsstarkes und flexibles Tool im Laravel-Framework, das uns dabei helfen kann, schnell effiziente und wartbare Datenbankabfragen zu erstellen. Wenn Sie Fragen oder Kommentare zu Eloquent ORM haben, hinterlassen Sie diese bitte in den Kommentaren.

Das obige ist der detaillierte Inhalt vonLaravel-Entwicklung: Wie verwende ich Eloquent ORM für Datenbankabfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage