2010-11-22 21 views

cevap

4

Tek seçenek silme yöntemini tek tek atlamak için preDelete yöntemini kullanmaktır.

Örnek:

public function preDelete(Doctrine_Event $event) 
{ 
    $event->skipOperation(); 
} 

Bir dinleyici ile, alternatif olarak, sizin genişletilmiş Doctrine_Record sınıfları içinde yapmanız ya gerekir. Bir dinleyicinin, uygulamanızın bir kısmının kayıtlarını silme özelliğine sahip olmasını istediğiniz durumlarda yararlı olabilir (ör., Istemci tarafı koduna bir yönetici bölümü). dinleyici yaklaşımıyla

Yukarıdaki preDelete yöntemi ile bir dinleyici oluşturmak ve bu gibi tablo ile kayıt: dinleyicinin kayıtlı değil

$userTable = Doctrine_Core::getTable('User'); 
$userTable->addRecordListener(new HydrationListener()); 

Eğer hala kayıtları silmek mümkün olacaktır. Dinleyici kayıtlıysa, silmeleriniz veritabanına devam etmez.

o yöntem hakkında

fazla bilgi burada bulunabilir: http://www.doctrine-project.org/projects/orm/1.2/docs/manual/event-listeners/en

0

IMHO Muhtemelen bunu bir ön-kanca gibi hala daha sonra silme yöntemini yürütmek için gidiyor gibi yapardım.

İlgili konular