Bu eğiticinin talimatlarını takip ettim: http://symfony.com/doc/current/cookbook/doctrine/event_listeners_subscribers.html ve basit bir dinleyici oluşturduk. Bu, bir nesnenin eklenmesi veya güncellenmesi üzerine Doktrin tarafından gönderilen olayları dinleyen basit bir dinleyici oluşturdu. PreInsert ve PostInsert olayları iyi çalışıyor ve yeni bir oluşumun yaratılmasında yollanıyor. Ancak, ne olursa olsun, varlığın güncellemesinde preUpdate ve postUpdate hiçbir zaman çağrılmaz. Aynı, onFlush için de geçerlidir. Bir yan not olarak, temel CRUD işlemlerini destekleyen ve el değmeden bırakılmış bir konsol oluşturucu denetleyicim var.DoTakTrin 2 tetiklenmeyen preUpdate ve postUpdate olayları 2
Bunu yaptığım şekilde göstermek için bazı kod parçacıkları aşağıda verilmiştir.
config.yml
annotation.listener:
class: City\AnnotatorBundle\Listener\AnnotationListener
tags:
- { name: doctrine.event_listener, event: postUpdate}
Dinleyici uygulaması (ben diğer işlevleri atladık ve basitlik amacıyla sadece postUpdate sol)
class AnnotationListener
{
public function postUpdate(LifecycleEventArgs $args)
{
$entity=$args->getEntity();
echo $entity->getId();
die;
}
}
varlık kimliği görüntülenir asla ve komut dosyası devam Tamamlanana kadar yürütme, işlevinin sonuna ölmesine rağmen.
:
Şimdi Ömrü burada geri aramalar hakkında
Daha okuyabilirsiniz ... dezavantajı size modeliyle mantığı karıştırmak olduğunu ve mümkünse kaçınılması gereken bir şey var , Diğer varlıkları ve varlık yöneticisinin kendisini ve muhtemelen diğer hizmetleri kullanmalıyım, bu yüzden iyi bir fikir olmaz. Her neyse, sorun şimdi çözülmüş gibi görünüyor. Symfony'nin son sürümüne güncelledim, önbelleği temizledim ve her şey çalışıyor. – tomor
Ah evet, başka hizmetler/varlıklar kullanıyorsanız, bu şekilde gitmemek anlamsızdır :) –