如何在Symfony 2的Form(类型)类中获取实体存储库的实例?

问题描述 投票:8回答:1

假设我有普通的*Type类:

class LocationType extends AbstractType
{
    /**
     * {@inheritdoc}
     */
    public function buildForm(FormBuilder $builder, array $options)
    {
        $builder
            ->add(...)
            ...
    }
}

并且其中一个字段是choice类型。应该将需要用作选择项的值从数据库(从某些特定的实体存储库)中检索出来。

所以问题是:如何在LocationType类中获取存储库?通过构造器传递它是获得它的唯一方法吗?

UPD

我知道entity类型,但不幸的是我不能使用它,因为由于Doctrine不支持的非常复杂的关系条件,我的属性不是并且不能定义为one-to-one关系(还可以吗?)。有关更多详细信息,请参见How to specify several join conditions for 1:1 relationship in Doctrine 2。>

比方说,我有普通的* Type类:类LocationType扩展AbstractType {/ ** * {@inheritdoc} * /公共函数buildForm(FormBuilder $ builder,array $ options){...

php symfony doctrine doctrine-orm
1个回答
13
投票

您可以将实体字段类型指定为选项,如下所示:

© www.soinside.com 2019 - 2024. All rights reserved.