Symfony2 EntityType для сущностей с OneToMany связью

hell0w0rd

Продвинутый новичок
https://github.com/hell0w0rd/symfony-one-to-many-doctrine-forms
Проекты создаются с тасками, но таски из проектов удалить не получается, что я делаю не так?
PS После https://github.com/hell0w0rd/symfony-one-to-many-doctrine-forms/commit/2e6d142247a5f7f002e63efcbeff3325b4c309e8 в принципе заработало, но с чек-боксами, а не select-ом, как хотелось бы. Может у кого-то есть идеи?)
 
Последнее редактирование:

Koc

Новичок
А что пишет? Конкретно какой кусок кода не работает? Там один контроллер по ссылке,

PS: деструктивные действия методом GET и без проверки csrf-token - крайне плохая идея.
 

hell0w0rd

Продвинутый новичок
Koc
а еще кто угодно может взять и отредактировать) накидал быстро пример из реального проекта, конкретно ту часть, что не работает)
Ошибок вообще никаких, просто нет удаления
 

Absinthe

жожо
Doctrine - это не AR.

PHP:
if ($request->isMethod('POST') && $form->handleRequest($request)->isValid()) {
            $em = $this->getDoctrine()->getManager();
            $em->persist($form->getData());
            $em->flush();
В контроллере это делать категорически нельзя.
Для этого есть прослойка сервисов.
 

hell0w0rd

Продвинутый новичок
Absinthe
Ты имеешь ввиду использовать репозиторий?
Как правильно должен быть написан этот код и почему он не работает?)
 

Absinthe

жожо
Данный код работает. Как правильно - сказал. Не репозиторий, а сервис.
 

hell0w0rd

Продвинутый новичок
Absinthe
Какой сервис? Я сервисом могу сделать что угодно, и данный код не работает. Или работает, но не так как я задумал. Мне бы хотелось чтобы было возможно удаление задач из проекта, сейчас это не выполняется
 

hell0w0rd

Продвинутый новичок
Koc
Не понял вопрос.
PS я понимаю что даже такой простой код можно с ног до головы запихнуть в сервисы, но вопрос - зачем? Я просто пытаюсь понять почему та логика, которую я заложил в код - не работает? Явно не от того что я не соблюдаю некоторые паттерны?)
 

hell0w0rd

Продвинутый новичок
Кстати добавление также работает не верно. Задачи должны переназначаться при создании/редактировании проекта, но этого не происходит
 

hell0w0rd

Продвинутый новичок
Koc
Я так понимаю эта опция удаляет сущность, если она перестает быть связанна с другими. Но мне нужно просто убрать связь
 

Absinthe

жожо
Koc
Не понял вопрос.
PS я понимаю что даже такой простой код можно с ног до головы запихнуть в сервисы, но вопрос - зачем? Я просто пытаюсь понять почему та логика, которую я заложил в код - не работает? Явно не от того что я не соблюдаю некоторые паттерны?)
Да незачем. И модели не нужны. Давай всегда весь код писать в контроллере. С версткой.
 

hell0w0rd

Продвинутый новичок
Absinthe
Я код подчистил. Можешь подсказать почему не работает логика?
 

hell0w0rd

Продвинутый новичок
Модераторы, можно, пожалуйста, пренести в форум симфони?)
 

hell0w0rd

Продвинутый новичок
Спасибо) и проблема решена))
Кто столкнется - ставьте by_reference в false.
Тогда значения будут устанавливаться без помощи рефлексии, а с помощью методов
 
Сверху