Symfony2容器感知表单类型

弗兰克·马丁

有没有一种方法可以使表单类型容器知道?

例如,我有3个实体Account,User和Event。用户具有ManyToMany关系,以便将许多用户与许多其他用户(称为批准者)相关联,其原因是这样,用户创建的事件可以具有能够批准该事件的用户列表。在我有一个批准人多个选择字段的用户编辑表单中,该列表需要按帐户进行过滤,因此我需要我的表单类型具有容器意识,以便按帐户ID过滤可用用户列表。

我认为对表单类型容器进行感知是正确的方法吗?我想使用实体管理器按帐户过滤用户列表。

米克

1 通过构造器注入实体管理器

<?php

namespace Acme\YourBundle\Form\Type;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Doctrine\ORM\EntityManager;

class YourType extends AbstractType
{

    /**
     * The entity manager
     *
     * @var EntityManager
     */
    private $entityManager;

    /**
     * @param EntityManager
     */
    public function __construct(EntityManager $entityManager)
    {
        $this->entityManager = $entityManager;
    }

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
       //build your form here



    }

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'Acme\YourBundle\Entity\YourEntity',
        ));
    }

    public function getName()
    {
        return 'name_of_your_form';
    }

}

2 声明为服务

services:
    # Form type
    acme_your_bundle.name_of_your_form.form.type:
        class: Acme\YourBundle\Form\Type\YourType
        arguments:
            entityManager: "@doctrine.orm.entity_manager"

注意:

如果您从Symfony开始,请遵循以下建议:

仔细查看FOSMessageBundle的代码,它将为您提供在symfony中进行任何操作的确切信息,从表单模型到表单工厂,再到特殊服务的创建(如作曲家,授权者等)。您学习的越多,学习symfony的速度就越快,我保证您100%。最后,在您的特定情况下,请查看此捆绑软件中FormFactory

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Symfony2容器感知表单类型

来自分类Dev

Symfony2制作一个容器感知事件调度程序

来自分类Dev

将symfony2呈现为表单类型的表单

来自分类Dev

在表单类型中使用Symfony2 UserPassword验证程序

来自分类Dev

表单类型映射为false symfony2

来自分类Dev

Symfony2表单类型实体添加额外选项

来自分类Dev

Symfony2:默认表单类型猜测器损坏

来自分类Dev

Symfony2表单集合-

来自分类Dev

Symfony2表单处理

来自分类Dev

Symfony2:在服务容器中实例化表单事件订阅者

来自分类Dev

Symfony2:如何对自定义复合表单类型使用约束?

来自分类Dev

symfony2表单创建集合和实体相结合的新类型

来自分类Dev

Symfony2自定义表单字段类型HTML5颜色

来自分类Dev

Symfony2中表单中实体字段类型的其他属性

来自分类Dev

Symfony2实体表单类型无法保存多对多

来自分类Dev

Symfony2:如何为收集字段类型添加/删除输入表单?

来自分类Dev

在Symfony2表单构建器中允许选择字段类型上的所有值

来自分类Dev

Symfony2:如何对自定义复合表单类型使用约束?

来自分类Dev

Symfony2:什么是表单中选择字段类型的“范数”数据

来自分类Dev

Symfony2:如何为收集字段类型添加/删除输入表单?

来自分类Dev

Symfony2自定义表单类型或扩展名

来自分类Dev

将日期类型从表单传递到Symfony2中的存储库

来自分类Dev

Symfony2:根据发送的数据在集合中使用不同的表单类型

来自分类Dev

Symfony2自定义字段类型和提交时的表单事件

来自分类Dev

Symfony2表单无需重复字段类型即可确认密码

来自分类Dev

与Symfony2表单类型的实体一起添加默认值

来自分类Dev

Symfony2表单映射问题

来自分类Dev

使用ajax提交symfony2表单

来自分类Dev

Symfony2 Twig扩展:创建表单

Related 相关文章

  1. 1

    Symfony2容器感知表单类型

  2. 2

    Symfony2制作一个容器感知事件调度程序

  3. 3

    将symfony2呈现为表单类型的表单

  4. 4

    在表单类型中使用Symfony2 UserPassword验证程序

  5. 5

    表单类型映射为false symfony2

  6. 6

    Symfony2表单类型实体添加额外选项

  7. 7

    Symfony2:默认表单类型猜测器损坏

  8. 8

    Symfony2表单集合-

  9. 9

    Symfony2表单处理

  10. 10

    Symfony2:在服务容器中实例化表单事件订阅者

  11. 11

    Symfony2:如何对自定义复合表单类型使用约束?

  12. 12

    symfony2表单创建集合和实体相结合的新类型

  13. 13

    Symfony2自定义表单字段类型HTML5颜色

  14. 14

    Symfony2中表单中实体字段类型的其他属性

  15. 15

    Symfony2实体表单类型无法保存多对多

  16. 16

    Symfony2:如何为收集字段类型添加/删除输入表单?

  17. 17

    在Symfony2表单构建器中允许选择字段类型上的所有值

  18. 18

    Symfony2:如何对自定义复合表单类型使用约束?

  19. 19

    Symfony2:什么是表单中选择字段类型的“范数”数据

  20. 20

    Symfony2:如何为收集字段类型添加/删除输入表单?

  21. 21

    Symfony2自定义表单类型或扩展名

  22. 22

    将日期类型从表单传递到Symfony2中的存储库

  23. 23

    Symfony2:根据发送的数据在集合中使用不同的表单类型

  24. 24

    Symfony2自定义字段类型和提交时的表单事件

  25. 25

    Symfony2表单无需重复字段类型即可确认密码

  26. 26

    与Symfony2表单类型的实体一起添加默认值

  27. 27

    Symfony2表单映射问题

  28. 28

    使用ajax提交symfony2表单

  29. 29

    Symfony2 Twig扩展:创建表单

热门标签

归档