I am using the cookbook article from symfony.com to implement a file upload option for images.
Now I want to load up other images to the entity.
The default strategy for editing is: 1. Fetch out of DB 2. Inject into Form 3. Persist
Somehow this strategy doesn't work anymore when using file uploads (doctrine doesn't execute the events)
What else could I do to make the articles with picture editable?
I have was in similar situation. I try to edit existing record in database with path to the file. When i edit record i must upload new file, what is not comfortable for users. In my solution i use variable tmp file for file hash and variable file name. All needed operation i made in Action edit class.
Full example action class in bellow link
https://github.com/marekz/php_examples/wiki/Symfony-how-to-edit-attachment-form
The cookbook does not handle updates, in particular in the case where only the file changes.
In this case, the
PreUpdate
event is not triggered, so you need to trigger$entity->preUpload()
manually before the$em->persist($entity)
, so that the file upload gets handled in any case (preUpload will alter$entity->path
so the persisting will occur)If you change only the upload field the lifecycle not run the upload method, In the cookbook is reported the solution in a quote box as below:
add a dummy field to update in the controller before persist event as suggest by this duscussion:
https://github.com/symfony/symfony-docs/pull/564