Bagaimana untuk Menjejaki Perubahan Entiti dalam Doktrin 2?

Patricia Arquette
Lepaskan: 2024-11-10 09:19:02
asal
266 orang telah melayarinya

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');
Salin selepas log masuk

Untuk mendapatkan semula tatasusunan medan yang diubah:

  1. Dapatkan the UnitOfWork:

    $uow = $em->getUnitOfWork();
    Salin selepas log masuk
  2. Perubahan Kira:

    $uow->computeChangeSets();
    Salin selepas log masuk
  3. Dapatkan Entiti Perubahan:

    $changeset = $uow->getEntityChangeSet($e);
    Salin selepas log masuk

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

[
    'foo' => ['old' => 'oldFoo', 'new' => 'a'],
    'bar' => ['old' => 'oldBar', 'new' => 'b'],
]
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan