Doctrine:在主实体上刷新之前重置外部实体

时间:2015-10-28 09:51:27

标签: symfony doctrine

我的问题很简单:我会对实体进行更新,但首先我需要重置外部实体,因为它只能有一个父实体(预先分配给另一个实体)。我尝试使用prePersist(和preUpdate)方法,但我无法保存父类的更改

我无法从班级访问$this->getDoctrine()->getManager()来更新以前的更改。

有什么想法吗?非常感谢....

1 个答案:

答案 0 :(得分:0)

好的,当我拥有父实体并且它有一个需要在更新父实体之前需要更新的子实体时,就会出现问题。我阅读了很多解决方案,但是当我创建要在 createbuilder 时提交的表单并且需要将表示子实体的字段必须 NOT 映射时,它才会出现: -S

    $builder
    ->add('responsible', 'entity', array(
            'label' => $this->translator->trans('section.responsible'),
            'required' => false,
            'multiple' => false,         // Multiple selection allowed
            'expanded' => false,        // Render as checkboxes
            'class' => 'AppBundle:Responsibles',
            'property' => 'fullName',
            'mapped' => false,
            'empty_value' => $this->translator->trans('field.select_choice'),
            'query_builder' => function (Repository $er) use ($nidOrg) {
                return $er->createQueryBuilder('a')
                    ->where('a.organization = :orgNid')
                    ->setParameter('orgNid', $nidOrg);
            }))