Oscar

Thanks for the example!!

Did you use entity manager in the uploadFile()?

In my case I would need to make some queries inside the "preEvent" function.
Do you know how?

Marcelo

2011/6/21 oscar balladares <liebegr...@gmail.com>

> Hi Marcelo; yes, of course:
>
> I'm currently using YML config instead of Annotations. I do really love to
> separate metadata from Entities classes.
>
> You have to tell doctrine to enable LifeCycleCallback event like this:
>
> Oscar\HotelBundle\Entity\Foto:
>     type:  entity
>     table:  foto
>     repositoryClass: Oscar\HotelBundle\Repo\FotoRepo
>     id:
>         id:
>             type:  integer
>             generator:
>                 strategy:  AUTO
>     fields:
>         titulo:
>             type:  string
>             length: 100
>          notnull: false
>
>     *lifecycleCallbacks:*
> *        postPersist: [ uploadFile ]*
>
>
> So you should have an uploadFile() method defined in the entity's class.
>
> When you call $em->flush() Doctrine will look for events prior or post
> flushing. (prePersist, postPersist, preUpdate, postUpdate, preRemove,
> postRemove)
>
> Class Foto
> {
> //private properties
>
> //public getters and setters
>
> public function uploadFile()
> {
>   //this is invoked after this entity is persisted.
> }
>
> }
>
> In my case, every event is invoked properly, but preUpdate nor postUpdate;
> If I would have misstyped prePersist: [ uploadFil*eIMisstypedThis* ]
> the framework will thrown an exception telling me that such method doesn't
> exist in the entity class; if I do the same for preUpdate, or postUpdate,
> it will be ignored, like it doesn't check the method.
>
> Regards!
>
> 2011/6/20 Marcelo Prizmic <mpriz...@gmail.com>
>
>> Hi Oscar
>> Could you post some code about how to use per or post events?
>> Thanks
>> Marcelo
>>
>>
>> 2011/6/20 oscar balladares <liebegr...@gmail.com>
>>
>>> Hi everybody!.
>>>
>>> I'm using Yaml configuration for doctrine metadata.
>>>
>>> All others events (prePersist, postPersist, preRemove, postRemove) are
>>> working properly, but not the preUpdate and PostUpdate.
>>>
>>> Of course, I'm just calling the 'persist' method of the $EntityManager:
>>>
>>> $em->persist($AlreadyInDatabaseEntityInstance);
>>> $em->flush();
>>>
>>> The row in the database is updated actually, but the method is never
>>> called.
>>>
>>> the easiest way to prove myself I'm not crazy, is that if the method name
>>> that has been set in the metadata is not correct,
>>> then when the Event is called, an exception will be thrown, i.e:
>>>
>>> preRemove: [ preRemoveMethod ]
>>>
>>> then I: $em->remove($entity)
>>>
>>> If the preRemoveMethod doesn't exist in the Entity class, then an
>>> excepetion will be trhown.
>>> In the other hand, preUpdate/postUpdate will be ignored completely. I
>>> can:
>>>
>>> preUpdate: [ asdfasdfaThisMethodDoesNotExistInTheEntityClassaesrseres ]
>>>
>>> No exception will be thrown, knowing that such method doesn't exist at
>>> all.
>>>
>>> (It won't happen with any other event).
>>>
>>> What could be wrong?
>>>
>>> Regards!
>>>
>>> --
>>> If you want to report a vulnerability issue on symfony, please send it to
>>> security at symfony-project.com
>>>
>>> You received this message because you are subscribed to the Google
>>> Groups "symfony users" group.
>>> To post to this group, send email to symfony-users@googlegroups.com
>>> To unsubscribe from this group, send email to
>>> symfony-users+unsubscr...@googlegroups.com
>>> For more options, visit this group at
>>> http://groups.google.com/group/symfony-users?hl=en
>>>
>>
>>  --
>> If you want to report a vulnerability issue on symfony, please send it to
>> security at symfony-project.com
>>
>> You received this message because you are subscribed to the Google
>> Groups "symfony users" group.
>> To post to this group, send email to symfony-users@googlegroups.com
>> To unsubscribe from this group, send email to
>> symfony-users+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/symfony-users?hl=en
>>
>
>  --
> If you want to report a vulnerability issue on symfony, please send it to
> security at symfony-project.com
>
> You received this message because you are subscribed to the Google
> Groups "symfony users" group.
> To post to this group, send email to symfony-users@googlegroups.com
> To unsubscribe from this group, send email to
> symfony-users+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/symfony-users?hl=en
>

-- 
If you want to report a vulnerability issue on symfony, please send it to 
security at symfony-project.com

You received this message because you are subscribed to the Google
Groups "symfony users" group.
To post to this group, send email to symfony-users@googlegroups.com
To unsubscribe from this group, send email to
symfony-users+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/symfony-users?hl=en

Reply via email to