Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menjejaki Perubahan Entiti dalam Doktrin 2?

Bagaimana untuk Menjejaki Perubahan Entiti dalam Doktrin 2?

Patricia Arquette
Patricia Arquetteasal
2024-11-10 09:19:02271semak imbas

How to Track Entity Changes in Doctrine 2?

Menjejaki Perubahan Entiti dalam Doktrin 2

Doktrin 2 menyediakan cara untuk menjejak medan yang diubah bagi entiti menggunakan EntityManager dan UnitOfWork.

Andaikan anda mempunyai entiti $e dan mengubah suai medannya:

$e->setFoo('a');
$e->setBar('b');

Untuk mendapatkan semula tatasusunan medan yang diubah:

  1. Dapatkan the UnitOfWork:

    $uow = $em->getUnitOfWork();
  2. Perubahan Kira:

    $uow->computeChangeSets();
  3. Dapatkan Entiti Perubahan:

    $changeset = $uow->getEntityChangeSet($e);

$changeset akan mengandungi semua pasangan nilai atribut yang diubah suai:

[
    'foo' => ['old' => 'oldFoo', 'new' => 'a'],
    'bar' => ['old' => 'oldBar', 'new' => 'b'],
]

Nota untuk Pendengar PraKemas Kini:

Jika cuba mendapatkan semula medan yang dikemas kini dalam pendengar praKemas kini, langkau pengiraan set perubahan kerana ia telah berlaku. Hanya hubungi getEntityChangeSet untuk mendapatkan semula perubahan.

Amaran:

Menggunakan kaedah ini di luar pendengar acara Doktrin boleh mengganggu operasinya.

Atas ialah kandungan terperinci Bagaimana untuk Menjejaki Perubahan Entiti dalam Doktrin 2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn