Tôi cần phải duy trì các thực thể bổ sung khi các thực thể khác được duy trì hoặc cập nhật. Vì vậy, tôi đã tạo ra một giải pháp lấy cảm hứng từ bài đăng này: https://stackoverflow.com/a/11054101/1526162.Trình nghe không được gọi trong Lệnh điều khiển
config.yml:
services:
transaktion.chain:
class: Foo\BarBundle\Listener\Chain
transaktion.flush:
class: Foo\BarBundle\Listener\Flush
arguments: [ @doctrine.orm.entity_manager, @transaktion.chain ]
tags:
- { name: kernel.event_listener, event: kernel.response, method: onResponse, priority: 5 }
transaktion.listener:
class: Foo\BarBundle\Listener\TransaktionLogger
arguments: [ @transaktion.chain ]
tags:
- { name: doctrine.event_listener, event: postPersist }
- { name: doctrine.event_listener, event: postUpdate }
- { name: doctrine.event_listener, event: preRemove }
Thông tin postPersist, postUpdate và preRemove sự kiện được thêm vào chuỗi và cuối cùng, các kernel.response bắt đầu Flush và entites bổ sung cần thiết được tạo ra. Mọi thứ đều hoạt động tốt.
Nhưng, khi tôi vẫn kiên trì bên trong Lệnh điều khiển, nó không hoạt động. Tôi nghĩ rằng không có sự kiện kernel.response. Có sự kiện hữu ích nào khác đang hoạt động với Bộ điều khiển và trong Lệnh điều khiển không?
Thông tin bổ sung: Tôi đang sử dụng Symfony 2.3
Tôi đã làm việc trên điều đó, nhưng tôi đã không tìm được tên sự kiện phù hợp cho mục nhập thẻ. Btw: Có danh sách tất cả các sự kiện có sẵn trong tài liệu không? –