Как вы можете убедиться, что объект встроенной в Symfony привязан к объекту формы? - PullRequest
3 голосов
/ 12 февраля 2011
Production:
  image_id

Image:
  id

ImageForm встроен в ProductionForm, и изображение является необязательным.Проблема заключается в том, что при добавлении изображения в уже существующее Production через встроенную форму и без изменения каких-либо стандартных значений в форме Production, основная форма не сохраняется (Production не имеет изменений) .. за исключением того, что ееimage_id нуждается в обновлении.

Я сомневаюсь, что проблема в том, что я неправильно настроил эти формы, или мне нужно добавить что-то в привязку метода сохранения.

Примечаниеэта проблема не возникает, если производство является новым, т.е. вы добавляете новое производство и изображение одновременно - или если вы редактируете производство (то есть меняете его имя в другом поле) И добавляете изображение.Или, если вы редактируете изображение, которое уже связано.

Я плохо понимаю, почему это происходит, и порядок выполнения Symfony сохраняет в формах ... но я не знаю, что добавить, чтобы эта работа работала.

Пока что не так много кода, а только то, что можно найти в расширенной форме jobeet;Я использую $this->embedRelation('Image'); и пост-валидатор + переопределение saveEmbeddedForms, чтобы избежать сохранения пустых изображений.


В итоге: проблема в том, что если вы добавляете изображение в уже существующее производство безПри изменении любых значений, которые хранятся в рабочей таблице, изображение сохраняется, но не связано с производством, image_id, сохраненный в рабочей таблице, остается нулевым.

1 Ответ

0 голосов
/ 12 февраля 2011

Я получил это, работая с $this->getObject()->setUpdatedAt(date('c')); .. было бы оценено менее хакерское решение.

...