Maison > développement back-end > tutoriel php > Comment suivre les changements d'entité dans Doctrine 2 ?

Comment suivre les changements d'entité dans Doctrine 2 ?

Patricia Arquette
Libérer: 2024-11-10 09:19:02
original
348 Les gens l'ont consulté

How to Track Entity Changes in Doctrine 2?

Suivi des modifications d'entité dans Doctrine 2

Doctrine 2 fournit un moyen de suivre les champs modifiés d'une entité à l'aide d'EntityManager et d'UnitOfWork.

Supposons que vous ayez une entité $e et que vous modifiiez son field:

$e->setFoo('a');
$e->setBar('b');
Copier après la connexion

Pour récupérer un tableau de champs modifiés :

  1. Obtenir l'UnitOfWork :

    $uow = $em->getUnitOfWork();
    Copier après la connexion
  2. Calcul Modifications :

    $uow->computeChangeSets();
    Copier après la connexion
  3. Obtenir les modifications d'entité :

    $changeset = $uow->getEntityChangeSet($e);
    Copier après la connexion

Le $changeset contiendra toutes les paires attribut-valeur modifiées :

[
    'foo' => ['old' => 'oldFoo', 'new' => 'a'],
    'bar' => ['old' => 'oldBar', 'new' => 'b'],
]
Copier après la connexion

Remarque pour la pré-mise à jour Écouteurs :

Si vous tentez de récupérer des champs mis à jour dans un écouteur preUpdate, ignorez le calcul de l'ensemble de modifications car il a déjà eu lieu. Appelez simplement getEntityChangeSet pour récupérer les modifications.

Attention :

L'utilisation de cette méthode en dehors des écouteurs d'événements Doctrine peut perturber son fonctionnement.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal