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
314 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().

use App\Models\Post;

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

// রেকর্ড মুছে ফেলুন
$post->delete();
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().

use App\Models\Post;

// 'draft' স্ট্যাটাসের সকল রেকর্ড মুছে ফেলুন
Post::where('status', 'draft')->delete();
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().

use App\Models\Post;

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

// একাধিক রেকর্ড মুছে ফেলুন
Post::destroy([2, 3, 4]);
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
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);
        });
    }
}
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.

use App\Models\Post;

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

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

Suppression logicielle :

use App\Models\Post;

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

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

use App\Models\Post;

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

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

Forcer la suppression :

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);
        });
    }
}
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.

use Illuminate\Database\Eloquent\SoftDeletes;

class Post extends Model
{
    use SoftDeletes;

    protected $dates = ['deleted_at'];
}
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!

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