Как в форме для поля типа entity изменить тип на hidden?
Есть сущности Offer и Image.
class Offer {
private $image;
// more properies
}
class Image {
private $id;
private $file;
function __toString() {
return (string) $this->file;
}
// more properies
}
в форме (OfferType) так: $builder->add('image');
При билде формы для поля image создается select со списком всех фотографий в таблице images. НО мне это не нужно. Я хочу средствами JS и AJAX выбрать фотографию и добавить id в поле типа hidden.
Сергей Сенкевич: а если мне нужен показать привью фото? например, когда редактирую уже добавленный оффер. Могу ли я совместно с id получить toString сущности?
Сергей Сенкевич: как его передать в свойство, если его инициализирует доктрина? с этим объектом идет явная работа только в DataTransformerInterface::transform();. В form.vars содержится только id который мы вернули transform'ом.
Сергей Сенкевич: :) вы раньше пользовались EntityToIdTransformer который вы мне предложили? Он трансформирует сущность в число, поэтому в шаблоне как не ищи ссылку на Image не найти.
Иван Антонов: Я пользовался подобным трансформером, только мне нужны были два поля - ID и Title (автокомплит), но сути это не меняет. Переменная form.vars.value содержит объект, которым вы инициализировали форму т.е. Offer, у которого, в свою очередь, есть свойство image - объект Image со всеми своими свойствами (и не важно, какие из них вы использовали в трансформере).