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:
Dapatkan the UnitOfWork:
$uow = $em->getUnitOfWork();
Perubahan Kira:
$uow->computeChangeSets();
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!