Maison cadre php Laravel Développement Laravel : Comment supprimer et restaurer des fragments à l'aide de Laravel ?

Développement Laravel : Comment supprimer et restaurer des fragments à l'aide de Laravel ?

Jun 13, 2023 am 10:41 AM
laravel 软删除 恢复片段

Développement Laravel : Comment supprimer et restaurer des fragments à l'aide de Laravel ?

Dans le framework Laravel, Soft Delete est une fonction très pratique, qui peut nous aider à très bien gérer les opérations de suppression de données. Dans la pratique, certaines données ne sont pas supprimées au sens propre du terme, mais sont simplement marquées et peuvent être restaurées dans un certain délai.

Laravel fournit un mécanisme de suppression logicielle très pratique, qui peut simplement implémenter la fonction de suppression logicielle en ajoutant des configurations liées à la suppression logicielle au modèle. Ci-dessous, nous expliquerons en détail comment supprimer et restaurer des fragments à l'aide de Laravel.

1. Configurez la suppression logicielle du modèle

1. Dans le modèle, ajoutez le code suivant :

use IlluminateDatabaseEloquentSoftDeletes;

class MyModel extends Model
{
    use SoftDeletes;

    protected $dates = ['deleted_at'];

    // ...
}
Copier après la connexion

2. Utilisez la fonction de trait SoftDeletes de Laravel, qui activera automatiquement la fonction de suppression logicielle dans le modèle.

3. L'attribut $dates est une conversion de format de date par défaut du framework Laravel. Il est généralement utilisé sur les champs datetime, date ou timestamp de la base de données. Il accepte un tableau de ce champ et est utilisé pour convertir automatiquement le champ en. une instance et un format Carbon.

4. Dans le modèle, un champ delete_at sera automatiquement ajouté à la table de données correspondante, et lorsque l'opération de suppression est effectuée, le champ sera défini sur l'heure actuelle, réalisant ainsi la fonction de suppression logicielle.

2. Interroger les données supprimées de manière logicielle du modèle

Laravel fournit une fonction très simple d'interrogation des données supprimées de manière logicielle. Ajoutez simplement withTrashed() à l'instruction de requête.

// 获取软删除的对象
MyModel::withTrashed()->where('id', 1)->get();

// 获取全部的对象,包括软删除的
MyModel::withTrashed()->get();

// 只获取软删除的对象
MyModel::onlyTrashed()->get();
Copier après la connexion

3. Récupérer des données supprimées de manière logicielle

Si vous avez besoin de récupérer des données supprimées de manière logicielle, vous devez appeler la méthode restaurer().

// 恢复某一条被软删除的数据
MyModel::withTrashed()->find($id)->restore();

// 按条件恢复符合条件的数据
MyModel::withTrashed()->where('is_visible', true)->restore();
Copier après la connexion

4. Supprimer complètement les données supprimées de manière logicielle

Si certaines données supprimées de manière logicielle ne sont plus nécessaires, nous pouvons les supprimer complètement avec une seule ligne de code.

// 彻底删除某一条软删除的数据
MyModel::withTrashed()->find($id)->forceDelete();

// 按条件彻底删除符合条件的数据
MyModel::withTrashed()->where('is_visible', true)->forceDelete();
Copier après la connexion

Pour résumer, l'utilisation des fonctions de suppression logicielle et de récupération de fragments de Laravel peut considérablement améliorer la capacité de déplacement des données sans réellement supprimer les données, réduisant ainsi le risque de mauvaise opération. Dans le même temps, sa mise en œuvre est également très simple, il vous suffit d'activer les fonctions pertinentes dans le modèle.

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Laravel - Commandes artisanales Laravel - Commandes artisanales Aug 27, 2024 am 10:51 AM

Laravel - Artisan Commands - Laravel 5.7 est livré avec une nouvelle façon de traiter et de tester de nouvelles commandes. Il inclut une nouvelle fonctionnalité de test des commandes artisanales et la démonstration est mentionnée ci-dessous ?

Laravel - Console artisanale Laravel - Console artisanale Aug 27, 2024 am 10:51 AM

Laravel - Artisan Console - Le framework Laravel fournit trois outils principaux d'interaction via la ligne de commande, à savoir : Artisan, Ticker et REPL. Ce chapitre explique en détail Artisan.

Laravel - Personnalisations de la pagination Laravel - Personnalisations de la pagination Aug 27, 2024 am 10:51 AM

Laravel - Personnalisations de pagination - Laravel inclut une fonctionnalité de pagination qui aide un utilisateur ou un développeur à inclure une fonctionnalité de pagination. Le paginateur Laravel est intégré au générateur de requêtes et à Eloquent ORM. La méthode paginate automatique

Comment obtenir le code de retour lorsque l'envoi par e-mail échoue à Laravel? Comment obtenir le code de retour lorsque l'envoi par e-mail échoue à Laravel? Apr 01, 2025 pm 02:45 PM

Méthode pour obtenir le code de retour lorsque l'envoi par e-mail de Laravel échoue. Lorsque vous utilisez Laravel pour développer des applications, vous rencontrez souvent des situations où vous devez envoyer des codes de vérification. Et en réalité ...

La tâche de calendrier Laravel n'est pas exécutée: que dois-je faire si la tâche n'est pas en cours d'exécution après le calendrier: Exécuter la commande? La tâche de calendrier Laravel n'est pas exécutée: que dois-je faire si la tâche n'est pas en cours d'exécution après le calendrier: Exécuter la commande? Mar 31, 2025 pm 11:24 PM

Laravel Schedule Tâche d'exécution de dépannage non réactif Lorsque vous utilisez la planification des tâches de calendrier de Laravel, de nombreux développeurs rencontreront ce problème: Schedule: Exécuter ...

Dans Laravel, comment gérer la situation où les codes de vérification ne sont pas envoyés par e-mail? Dans Laravel, comment gérer la situation où les codes de vérification ne sont pas envoyés par e-mail? Mar 31, 2025 pm 11:48 PM

La méthode de traitement de l'échec de l'e-mail de Laravel à envoyer le code de vérification est d'utiliser Laravel ...

Comment implémenter la fonction de table personnalisée de clic pour ajouter des données dans l'administrateur DCAT? Comment implémenter la fonction de table personnalisée de clic pour ajouter des données dans l'administrateur DCAT? Apr 01, 2025 am 07:09 AM

Comment implémenter la fonction du tableau de Cliquez sur personnalisé pour ajouter des données dans DCATADMIN (Laravel-Admin) lors de l'utilisation de DCAT ...

Laravel - Serveur de vidage Laravel - Serveur de vidage Aug 27, 2024 am 10:51 AM

Laravel - Dump Server - Le serveur de dump Laravel est livré avec la version de Laravel 5.7. Les versions précédentes n'incluent aucun serveur de dump. Le serveur de vidage sera une dépendance de développement dans le fichier laravel/laravel composer.

See all articles