Laravel Eloquent bietet praktische und lesbare Methoden zur Interaktion mit der Datenbank und erleichtert so den Zugriff auf Datenbankdaten. Im Folgenden werden verschiedene Datenerfassungstechniken vorgestellt:
1. Holen Sie sich alle Datensätze
Verwenden Sie die Methode all()
, um alle Datensätze in der Tabelle abzurufen:
use App\Models\Post; $posts = Post::all();
Dadurch wird eine Sammlung zurückgegeben. Sie können über foreach
-Schleifen oder andere Erfassungsmethoden auf Daten zugreifen:
foreach ($posts as $post) { echo $post->title; }
2. Holen Sie sich einen einzelnen Datensatz
1. find()
Methode: Erhalten Sie einen einzelnen Datensatz basierend auf dem Primärschlüssel.
$post = Post::find(1); if ($post) { echo $post->title; }
2. findOrFail()
Methode: Einen einzelnen Datensatz basierend auf dem Primärschlüssel abrufen. Wenn der Datensatz nicht vorhanden ist, wird eine 404-Ausnahme ausgelöst.
$post = Post::findOrFail(1);
3. first()
Methode: Holen Sie sich den ersten Datensatz, der die Bedingungen erfüllt.
$post = Post::where('status', 'published')->first();
4. firstOrFail()
Methode: Holen Sie sich den ersten Datensatz, der die Bedingungen erfüllt. Wenn der Datensatz nicht vorhanden ist, wird eine 404-Ausnahme ausgelöst.
$post = Post::where('status', 'published')->firstOrFail();
3. Verwenden Sie Abfragebedingungen, um Datensätze zu filtern
Verwenden Sie where
und andere bedingte Anweisungen, um Daten zu filtern.
1. where
Methode:
$posts = Post::where('status', 'published')->get();
2. Mehrere Bedingungen:
$posts = Post::where('status', 'published') ->where('user_id', 1) ->get();
3. orWhere
Methode:
$posts = Post::where('status', 'published') ->orWhere('status', 'draft') ->get();
4. Wählen Sie bestimmte Felder aus
Eloquent ruft standardmäßig alle Felder ab. Verwenden Sie die Methode select()
, um ein bestimmtes Feld auszuwählen:
$posts = Post::select('title', 'content')->get();
5. Paginierung
Verwenden Sie die Methode paginate()
, um Daten in Seiten abzurufen:
$posts = Post::paginate(10);
Paginierungslinks in Blade-Vorlagen anzeigen:
{{ $posts->links() }}
6. Daten-Chunking
Bei der Verarbeitung großer Datenmengen kann die Speichernutzung effektiv reduziert werden:
Post::chunk(100, function ($posts) { foreach ($posts as $post) { echo $post->title; } });
7. Ergebnisse sortieren (Reihenfolge)
Verwenden Sie die Methode orderBy()
, um in der angegebenen Reihenfolge zu sortieren:
$posts = Post::orderBy('created_at', 'desc')->get();
8. Limit und Offset
Verwenden Sie die Methoden take()
oder limit()
und skip()
, um die Anzahl der abgerufenen Datensätze zu begrenzen:
$posts = Post::take(5)->get(); // 获取前 5 条记录 $posts = Post::skip(10)->take(5)->get(); // 跳过前 10 条,获取接下来的 5 条
9. Aggregatfunktionen (Aggregate)
1. Anzahl:
$count = Post::count();
2. Maximalwert:
$maxViews = Post::max('views');
3. Mindestwert:
$minViews = Post::min('views');
4. Durchschnitt:
$avgViews = Post::avg('views');
5. Summe:
$totalViews = Post::sum('views');
10. Individuelle Beziehungssuche
Eloquent unterstützt das Abrufen von Daten aus anderen Modellen durch Beziehungen.
1. Eifrig geladen:
$posts = Post::with('comments')->get();
2. Beziehung angeben:
$posts = Post::with(['comments', 'user'])->get();
11. Rohabfragen
Benutzerdefinierte SQL-Abfragen mithilfe der DB-Fassade von Laravel ausführen:
use App\Models\Post; $posts = Post::all();
Diese Methoden bieten flexible Datenerfassungsmethoden, um verschiedene Anforderungen an den Datenbankbetrieb zu erfüllen. Bitte wählen Sie entsprechend der tatsächlichen Situation die geeignete Methode.
Das obige ist der detaillierte Inhalt vonLaravel Eloquent ORM in Bangla (Abrufen von Teilmodellen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!