Laravel Eloquents Replicating Models kann einen neuen Datensatz unter Verwendung aller oder eines Teils der Daten eines Modells erstellen. Es wird verwendet, um eine Halbkopie zu erstellen, ohne die vorherigen Daten erneut einzufügen.
Dies kann mit der replicate()
-Methode von Laravel erfolgen. Nachfolgend einige Beispiele:
1. Replizieren des Modells mit der replicate()
-Methode
replicate()
-Methode erstellt eine Kopie des Modells, lässt jedoch die id
und timestamps
des Modells weg (es sei denn, Sie speichern sie). Sie können auch bestimmte Felder replizieren.
<code class="language-php">use App\Models\Post; $post = Post::find(1); // মূল পোস্ট খুঁজে বের করা // পোস্ট রিপ্লিকেট করা $newPost = $post->replicate(); // অতিরিক্ত ক্ষেত্রের মান পরিবর্তন $newPost->title = 'নতুন পোস্ট'; $newPost->status = 'ড্রাফট'; // নতুন পোস্ট সংরক্ষণ $newPost->save();</code>
Wie funktioniert es?
replicate()
erstellt ein neues Modell, indem sie die Daten aus dem Originalmodell kopiert.title
, status
usw.save()
wird eine neue Kopie in der Datenbank gespeichert.2. Replikation
unter Ausschluss einiger Felder Diereplicate()
-Methode kann repliziert werden, indem bestimmte Felder mit .except()
oder .makeHidden()
weggelassen werden.
<code class="language-php">use App\Models\Post; $post = Post::find(1); // `created_at` এবং `updated_at` ক্ষেত্র বাদ দিয়ে রিপ্লিকেট করা $newPost = $post->replicate()->makeHidden(['created_at', 'updated_at']); $newPost->save();</code>
Auf diese Weise können andere Daten außer created_at
und updated_at
kopiert werden.
3. Replizierendes relationales Modell
Wenn ein Modell mit einem anderen Modell verknüpft ist (One-to-Many, Many-to-Many), können diese verwandten Modelle auch kopiert werden. Wenn ein Beitrag beispielsweise viele Kommentare enthält:
<code class="language-php">use App\Models\Post; $post = Post::find(1); // মূল পোস্ট খুঁজে বের করা // পোস্ট রিপ্লিকেট করা $newPost = $post->replicate(); // অতিরিক্ত ক্ষেত্রের মান পরিবর্তন $newPost->title = 'নতুন পোস্ট'; $newPost->status = 'ড্রাফট'; // নতুন পোস্ট সংরক্ষণ $newPost->save();</code>
Dadurch werden alle Kommentare zum ursprünglichen Beitrag zum neuen Beitrag hinzugefügt.
4. Kaskadenreplikation (Kaskadenreplikation)
Verwenden Sie die Kaskadenreplikation, um verwandte Modelle automatisch zu replizieren.
<code class="language-php">use App\Models\Post; $post = Post::find(1); // `created_at` এবং `updated_at` ক্ষেত্র বাদ দিয়ে রিপ্লিকেট করা $newPost = $post->replicate()->makeHidden(['created_at', 'updated_at']); $newPost->save();</code>
5. Replikation von
unter Ausschluss bestimmter Felder Um andere Felder als das Feldid
zu kopieren:
<code class="language-php">use App\Models\Post; $post = Post::find(1); // পোস্ট রিপ্লিকেট করা $newPost = $post->replicate(); // সম্পর্কিত মন্তব্য কপি করা $newPost->comments = $post->comments; $newPost->save();</code>
6. replicate()
und Validierung
replicate()
Wendet die Validierungsregel des Originalmodells auf das neue Modell an.
Diese Beispiele zeigen verschiedene Einsatzmöglichkeiten der replicate()
-Methode. Diese können je nach Bedarf geändert werden.
Das obige ist der detaillierte Inhalt vonLaravel Eloquent ORM in Bangla-Teilreplikationsmodellen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!