postInsert
가 작동하지 않습니까?
내가합니다 (Table.class.php
내부) 내 프로젝트 중 하나에이 코드 조각을 사용
public function postInsert($event)
{
$dispatcher = ProjectConfiguration::getActive()->getEventDispatcher();
$dispatcher->notify(new sfEvent($this, 'item.new', array(
'item' => $this
)));
}
내가 새 항목에 대한 이벤트를 확산. 그럼, 내 구성에서이 이벤트를 잡을 :
class frontendConfiguration extends sfApplicationConfiguration
{
public function configure()
{
// [....]
$this->dispatcher->connect('item.new', array('shareEvents', 'postToSocial'));
그리고 내 shareEvents
클래스
나는 문제없이 항목 ID에 액세스 :
class shareEvents
{
static public function postToSocial(sfEvent $event)
{
$item = $event['item'];
$queue = new AutopostQueue();
$queue->setItemId($item->getId());
$queue->save();
그건 그렇고, 당신은 트리거 액션을 수행 할 수 있습니다 너무. Doctrine이 모델, 형식 등을 생성하기 위해 구문 분석 한 이후에 schema.yml
안에 트리거를 정의 할 수 있다고 생각하지 않습니다. 그러나 /data/sql
디렉토리에 trigger.sql
파일을 정의하면 전화 할 때 자동으로로드됩니다.
php symfony doctrine:insert-sql
출처
2012-09-17 22:32:25
j0k