Maison > développement back-end > tutoriel php > Laravel Eloquent ORM dans les modèles de suppression de pièces Bangla)

Laravel Eloquent ORM dans les modèles de suppression de pièces Bangla)

DDD
Libérer: 2025-01-16 20:05:09
original
245 Les gens l'ont consulté

Laravel Eloquent ORM in Bangla Part-Deleting Models)

Vous trouverez ci-dessous différentes méthodes pour supprimer des enregistrements de la base de données à l'aide de Laravel Eloquent ORM. Il fournit un moyen simple et efficace de supprimer des données.

1. Supprimer un seul enregistrement :

delete() méthode utilisant :

Un enregistrement particulier peut être supprimé de la base de données en utilisant la méthode

delete().

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

// রেকর্ড খুঁজে বের করুন
$post = Post::find(1);

// রেকর্ড মুছে ফেলুন
$post->delete();</code>
Copier après la connexion
Copier après la connexion

Rappelez-vous : Après la suppression, l'enregistrement ne sera plus dans la base de données.

2. Suppression de plusieurs enregistrements :

Utilisation de la méthode

avec la clause wheredelete() :

Pour supprimer plusieurs enregistrements, utilisez la méthode where avec la clause delete().

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

// 'draft' স্ট্যাটাসের সকল রেকর্ড মুছে ফেলুন
Post::where('status', 'draft')->delete();</code>
Copier après la connexion
Copier après la connexion

3. En utilisant la méthode destroy() :

Un ou plusieurs enregistrements peuvent être supprimés à l'aide de la méthode

destroy().

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

// একক রেকর্ড মুছে ফেলুন
Post::destroy(1);

// একাধিক রেকর্ড মুছে ফেলুন
Post::destroy([2, 3, 4]);</code>
Copier après la connexion
Copier après la connexion

Rappelez-vous : La méthode destroy() supprime directement les enregistrements à l'aide de la clé primaire.

4. Utilisation de l'événement modèle :

Les

Événements de modèle sont déclenchés lorsque les modèles Eloquent sont supprimés.

  • événement : déclenché avant la suppression de l'enregistrement.deleting
  • Événement : déclenché après la suppression de l'enregistrement.deleted
<code class="language-php">class Post extends Model
{
    protected static function booted()
    {
        static::deleting(function ($post) {
            // মুছে ফেলার আগে করণীয় কাজ
            Log::info('Post is being deleted: ' . $post->id);
        });

        static::deleted(function ($post) {
            // মুছে ফেলার পর করণীয় কাজ
            Log::info('Post deleted: ' . $post->id);
        });
    }
}</code>
Copier après la connexion
Copier après la connexion

5. Suppressions logicielles :

Qu'est-ce que la suppression logicielle ?

Les enregistrements de suppression logicielle ne sont pas physiquement supprimés en ajoutant un horodatage à la colonne

.deleted_at

Pour utiliser la suppression logicielle :

Le trait

doit être ajouté au modèle SoftDeletes.

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

// রেকর্ড খুঁজে বের করুন
$post = Post::find(1);

// রেকর্ড মুছে ফেলুন
$post->delete();</code>
Copier après la connexion
Copier après la connexion

Suppression logicielle :

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

// 'draft' স্ট্যাটাসের সকল রেকর্ড মুছে ফেলুন
Post::where('status', 'draft')->delete();</code>
Copier après la connexion
Copier après la connexion

Récupération des enregistrements supprimés de manière logicielle :

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

// একক রেকর্ড মুছে ফেলুন
Post::destroy(1);

// একাধিক রেকর্ড মুছে ফেলুন
Post::destroy([2, 3, 4]);</code>
Copier après la connexion
Copier après la connexion

Forcer la suppression :

<code class="language-php">class Post extends Model
{
    protected static function booted()
    {
        static::deleting(function ($post) {
            // মুছে ফেলার আগে করণীয় কাজ
            Log::info('Post is being deleted: ' . $post->id);
        });

        static::deleted(function ($post) {
            // মুছে ফেলার পর করণীয় কাজ
            Log::info('Post deleted: ' . $post->id);
        });
    }
}</code>
Copier après la connexion
Copier après la connexion

Interrogation des enregistrements supprimés de manière logicielle :

  • withTrashed() : renvoie les enregistrements supprimés et non supprimés.
  • onlyTrashed() : restaurera uniquement les enregistrements supprimés de manière logicielle.

6. Suppression directe de la base de données :

Les enregistrements peuvent être supprimés directement avec des requêtes SQL en utilisant la façade DB de Laravel.

<code class="language-php">use Illuminate\Database\Eloquent\SoftDeletes;

class Post extends Model
{
    use SoftDeletes;

    protected $dates = ['deleted_at'];
}</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal