Heim > Datenbank > MySQL-Tutorial > Laravel Eloquent ORM in Bangla-Teilreplikationsmodellen)

Laravel Eloquent ORM in Bangla-Teilreplikationsmodellen)

DDD
Freigeben: 2025-01-16 20:14:15
Original
535 Leute haben es durchsucht

Laravel Eloquent ORM in Bangla Part-Replicating Models)

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

Die

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>
Nach dem Login kopieren
Nach dem Login kopieren

Wie funktioniert es?

    Die Methode
  1. replicate() erstellt ein neues Modell, indem sie die Daten aus dem Originalmodell kopiert.
  2. Sie können neue Daten festlegen, z. B. title, status usw.
  3. Mit der Methode
  4. save() wird eine neue Kopie in der Datenbank gespeichert.

2. Replikation

unter Ausschluss einiger Felder Die

replicate()-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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren
Nach dem Login kopieren

5. Replikation von

unter Ausschluss bestimmter Felder Um andere Felder als das Feld

id zu kopieren:

<code class="language-php">use App\Models\Post;

$post = Post::find(1);

// পোস্ট রিপ্লিকেট করা
$newPost = $post->replicate();

// সম্পর্কিত মন্তব্য কপি করা
$newPost->comments = $post->comments;

$newPost->save();</code>
Nach dem Login kopieren

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!

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