在表单类型中加载选择加载类

时间:2015-10-07 08:00:15

标签: php forms class symfony

我有两节课。一个班级活动和一个套房

以事件的形式,我希望从表套件的内容中选择一个构建。例如在套件(表格)中,我越来越少。我希望在我的选择中看到“更多”和“更少”。

我尝试使用实体Field但它不起作用,我总是收到消息

  

“属性”套件“和”getSuite()“方法之一都不存在,并且在类Suite中具有公共访问权限。

所以目前我在事件类中有一个关系OneToOne,而我的formtype就是这样的

->add('Suite', 'entity', array('class'=> 'Suite','choice_label'=>'suite'));

1 个答案:

答案 0 :(得分:2)

您的class选项看起来很可疑 - 除非它与您的formtype类位于相同的命名空间中,它需要看起来像这样:

->add('Suite','entity',array('class'=>'AppBundle:Suite','choice_label'=>'suite'));

现在,假设这不是错误的原因(并且听起来不是 - 这意味着你通过不遵循惯例为你的背创造了一根杆),那么错误包含你需要知道的一切:您已忽略为套件实体的suite属性创建一个getter。可能是一件简单的事情:

/**
 * @ORM\Entity
 * @ORM\Table(name="suite")
 */
class Suite
{
    ....

    /**
     * @ORM\Column( type="string", length=32 )
     */
    protected $suite;

    ....

    public function getSuite()
    {
        return $this->suite;
    }

这甚至可以自动完成(如果您遵循既定惯例):

Generating Getters and Setters

以下是一些文档:

Databases and Doctrineentity Field Type

让我知道你怎么走。