Symfony2中实体(和textarea)的集合

时间:2015-11-06 13:17:12

标签: php symfony

我有一个非常简单的表单( ModuleType.php )来调用一个集合( ModuleControleType.php )。

此代码完美无缺(添加,修改和删除:没问题),但我想自定义查询描述(我只想添加一个Where )在 ModuleControleType.php

我可以使用"类型的字段来执行query_builder。 实体",但没有字段" 收藏"类型。

ModuleType.php:

class ModuleType extends AbstractType
{

    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('point', 'textarea', array(
                'label' => 'Point(s) à observer',
                'required' => false,
                'attr' => array(
                    'rows' => 5
                )
            ))
            ->add('controles', 'collection', array(
                'label' => false,
                'type' => new ModuleControleType(),
                'allow_add' => true,
                'allow_delete' => true,
                'by_reference' => false
            ))
        ;
    }

ModuleControleType.php:

class ModuleControleType extends AbstractType
{

    use Description;

    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('description', 'textarea', array(
                'label' => 'Description',
                'required' => false,
                'attr' => array(
                    'rows' => $rows
                )
            ))
        ;
    }

    /**
     * @param OptionsResolverInterface $resolver
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'AdministrationBundle\Entity\ModuleControle',
            'intention' => $this->getName() . '_token'
        ));
    }

    /**
     * @return string
     */
    public function getName()
    {
        return 'administration_module_controle_form';
    }
}

0 个答案:

没有答案