Symfony2嵌套CollectionType表单w /依赖注入数据未保存

时间:2016-11-28 10:17:08

标签: symfony dependency-injection nested-forms

我有依赖注入问题,并将其保存到数据库,我在另一个表单中有一个formType,我在两个不同的控制器路由中使用它们处理同一个实体:创建一个新的实体和编辑它。当我尝试创建一个新实体并为其设置$user字段时,它会将用户字段保存为空字符串。



    class SomeClass extends AbstractType
    {
        private $tokenStorage;
        private $user;
        public function __construct(TokenStorageInterface $tokenStorage)
        {
            $this->tokenStorage = $tokenStorage;
        }
        /**
         * @param FormBuilderInterface $builder
         * @param array $options
         */
         public function buildForm(FormBuilderInterface $builder, array $options)   {
             $user = $this->tokenStorage->getToken()->getUser();
             $builder
                ->add('price', null, array(
                    'label' => 'price',
                    'required' => true,
                    'translation_domain' => 'some_translation',
                    'attr' => array(
                        'placeholder' => 'price'
                )
            ))
                ->add('user', HiddenType::class, array(
                    'data' => $user
            ));
            // dump($user);
            // exit(0);
         }


我已经尝试过并将其转储并进行调试,我发现的是当我转储$ user时我得到了需要firstNamelastName等的正确数据,但是当我提交它没有保存到数据库的数据而不是我得到空字符串。然后我在控制器中提交后抛出整个表单,发现用户字段为空。 但是,当我去编辑路线并编辑现有实体时,它确实有效,但是如果我在编辑表单上创建新实体,它确实适用于存在的实体,而不是新制作的实体。

我还检查了控制器和Entity类本身,这些都不是问题。

0 个答案:

没有答案