Добрый день.
Не могу придумать с какой стороны подобраться к решению задачи.
Суть в чем. Сделал по мануалу
symfony.com/doc/current/cookbook/form/form_collect... форму редактирования коллекции, добавляет и удаляет записи коллекции ок. (Есть 2 сущности: User и Telephone, связь OneToMany). Теперь стоит задача сделать форму в которой можно редактировать (и удалить) определенную запись из коллекции. Получается или редактировать всю коллекцию в форме или редактировать определенную запись (если рендерить без коллекции), но тогда удалить не получается, потому что не проходит валидация.
Вот и не могу придумать с какой стороны начать. Подскажите куда копать.
PS. Наверное напишу подробней как делаю и что не получается.
Сейчас в контроллере рендерю форму
$formPhone = $this->container->get('form.factory')->create(new ProfilePhonesFormType(), $user);
ProfilePhonesFormType такой:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('telephones', 'collection', array(
'type' => new TelephoneFormType(),
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false,
));
в шаблоне вывожу записи коллекции так:
<ul class="telephones" data-prototype="{{ form_widget(formPhones.telephones.vars.prototype)|e }}">
{% for phone in formPhones.telephones %}
<li class="added-telephone">{{ form_row(phone.phone_number) }}</li>
{% endfor %}
</ul>
В таком случае в форме все записи коллекции (плюс ссылки удалить, добавить из мануала с кукбука). А нужно отрендерить в форме только определенную запись. В контроллер ее id передаю, а что дальше с ним делать ума не приложу. Или в шаблоне нужно как-то скрыть все записи с другим id?