Der Unterschied zwischen einem Eloquent Model und einem Model?

8

Also, ich bin damit verwirrt: In Laravels offizieller Dokumentation sagen sie:

  

Das beredte ORM, das in Laravel enthalten ist, bietet ein schönes, einfaches   ActiveRecord-Implementierung für die Arbeit mit Ihrer Datenbank. Jeder   Die Datenbanktabelle weist ein entsprechendes "Modell" auf, das zum Interagieren verwendet wird   mit dieser Tabelle.

Ok util hier ist alles großartig, ich verstehe es!

Also mache ich eine Migration, um eine Datenbank zu erstellen: php artisan make: migration create_items_table --create="Elemente"

Großartig bis hier auch:)

Wenn ich theoretisch sagen werde: php artisan make: model Item , wird Laravel eine PHP-Klasse erstellen (die zur Interaktion mit der Items-Tabelle verwendet wird):

%Vor%

Aber in der realen Welt, wenn ich Folgendes mache: php artisan make: model Item , erstellt Laravel die php-Klasse (die zur Interaktion mit der Items-Tabelle verwendet wird) ::

%Vor%

Warum also modellieren und nicht beredten? Vermisse ich etwas? Und was ist der Unterschied zwischen Eloquent Model und Model.

Und wenn es einen Unterschied gibt, wann sollte ich Eloquent verwenden und wenn Model ...?

Danke ^^

    
elarib 13.07.2015, 10:13
quelle

2 Antworten

7

Ich habe die Lösung für meine Frage gefunden ...

Also müssen Sie normalerweise einen Alias ​​zu Ihrer config / app.php

hinzufügen %Vor%

Und wenn Sie ein Modell erstellen, wird Laravel use Eloquent; anstelle von use Illuminate\Database\Eloquent\Model; dies, warum ich denke, eine Person kann Model verwenden, wenn andere Eloquent verwenden, es ist nur eine Frage von sinnvollen Sinn für den Namespace: 3

    
elarib 13.07.2015, 10:44
quelle
1

Eloquent ist der Name, der dem ORM (Objekt-relationales Mapping) gegeben wird, das mit Laravel geliefert wird. Mit Eloquent können Sie mit Ihren Tabellen interagieren, als ob sie Objekte wären. Eloquent ist sich jedoch der tatsächlichen Spalten auf Ihrem Tisch nicht bewusst.

Betrachten wir das einfache User model . Wir möchten, dass dieses Modell Datensätze in unserer Tabelle users abfragt.

%Vor%

} Das ist ein sehr einfaches Modell. Nun, anstatt so zu fragen.

%Vor%

Sie können so abfragen.

%Vor%

Eloquent verwendet selbst einen eigenen Abfrage-Builder, greift jedoch auf den Standardabfrage-Builder zurück. Dies bedeutet, dass ihm alle Methoden des Abfrage-Generators und mehr zur Verfügung stehen.

Die Vorteile hier sind:

  • Sie müssen Ihren Tabellennamen nicht bei jedem Anruf angeben.
  • Der Code liest sich viel besser, es ist syntaktischer Zucker.
  • Sie können komplexe Beziehungen zwischen Tabellen erstellen und eifriges Laden verwenden.
  • Sie können Funktionen wie Massenzuweisungsschutz und Setter / Getter verwenden.

Ich habe Eloquent nur gestreift. Es gibt so viel mehr. Ich schlage vor, Sie sehen sich die folgenden Quellen an.

Für ein genaueres einfaches Beispiel klicken Sie hier

    
Jigs Virani 13.07.2015 10:21
quelle

Tags und Links