Heim >Datenbank >MySQL-Tutorial >Laravel Eloquent ORM in Bangla (Abrufen von Teilmodellen)
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:
<code class="language-php">use App\Models\Post; $posts = Post::all();</code>
Dadurch wird eine Sammlung zurückgegeben. Sie können über foreach
-Schleifen oder andere Erfassungsmethoden auf Daten zugreifen:
<code class="language-php">foreach ($posts as $post) { echo $post->title; }</code>
2. Holen Sie sich einen einzelnen Datensatz
1. find()
Methode: Erhalten Sie einen einzelnen Datensatz basierend auf dem Primärschlüssel.
<code class="language-php">$post = Post::find(1); if ($post) { echo $post->title; }</code>
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.
<code class="language-php">$post = Post::findOrFail(1);</code>
3. first()
Methode: Holen Sie sich den ersten Datensatz, der die Bedingungen erfüllt.
<code class="language-php">$post = Post::where('status', 'published')->first();</code>
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.
<code class="language-php">$post = Post::where('status', 'published')->firstOrFail();</code>
3. Verwenden Sie Abfragebedingungen, um Datensätze zu filtern
Verwenden Sie where
und andere bedingte Anweisungen, um Daten zu filtern.
1. where
Methode:
<code class="language-php">$posts = Post::where('status', 'published')->get();</code>
2. Mehrere Bedingungen:
<code class="language-php">$posts = Post::where('status', 'published') ->where('user_id', 1) ->get();</code>
3. orWhere
Methode:
<code class="language-php">$posts = Post::where('status', 'published') ->orWhere('status', 'draft') ->get();</code>
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:
<code class="language-php">$posts = Post::select('title', 'content')->get();</code>
5. Paginierung
Verwenden Sie die Methode paginate()
, um Daten in Seiten abzurufen:
<code class="language-php">$posts = Post::paginate(10);</code>
Paginierungslinks in Blade-Vorlagen anzeigen:
<code class="language-blade">{{ $posts->links() }}</code>
6. Daten-Chunking
Bei der Verarbeitung großer Datenmengen kann die Speichernutzung effektiv reduziert werden:
<code class="language-php">Post::chunk(100, function ($posts) { foreach ($posts as $post) { echo $post->title; } });</code>
7. Ergebnisse sortieren (Reihenfolge)
Verwenden Sie die Methode orderBy()
, um in der angegebenen Reihenfolge zu sortieren:
<code class="language-php">$posts = Post::orderBy('created_at', 'desc')->get();</code>
8. Limit und Offset
Verwenden Sie die Methoden take()
oder limit()
und skip()
, um die Anzahl der abgerufenen Datensätze zu begrenzen:
<code class="language-php">$posts = Post::take(5)->get(); // 获取前 5 条记录 $posts = Post::skip(10)->take(5)->get(); // 跳过前 10 条,获取接下来的 5 条</code>
9. Aggregatfunktionen (Aggregate)
1. Anzahl:
<code class="language-php">$count = Post::count();</code>
2. Maximalwert:
<code class="language-php">$maxViews = Post::max('views');</code>
3. Mindestwert:
<code class="language-php">$minViews = Post::min('views');</code>
4. Durchschnitt:
<code class="language-php">$avgViews = Post::avg('views');</code>
5. Summe:
<code class="language-php">$totalViews = Post::sum('views');</code>
10. Individuelle Beziehungssuche
Eloquent unterstützt das Abrufen von Daten aus anderen Modellen durch Beziehungen.
1. Eifrig geladen:
<code class="language-php">$posts = Post::with('comments')->get();</code>
2. Beziehung angeben:
<code class="language-php">$posts = Post::with(['comments', 'user'])->get();</code>
11. Rohabfragen
Benutzerdefinierte SQL-Abfragen mithilfe der DB-Fassade von Laravel ausführen:
<code class="language-php">use App\Models\Post; $posts = Post::all();</code>
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!