EntityType选择返回整数而不是对象

时间:2016-11-27 20:15:25

标签: symfony symfony-forms

以下是城市

表单的一部分
->add('city', EntityType::class, array(
          'class'             => 'CFCWalesUserBundle:Zone',
          'query_builder'     => function(EntityRepository $er) {
               return $er->createQueryBuilder('c')
                    ->where('c.country = :country')
                    ->setParameter('country', $this->country)
                    ->orderBy('c.name', 'ASC');
          },
          'choice_label'      => 'name',
          'empty_data'        => null,
          'attr'              => array(
                 'class'     => 'form-control'
               )
     ))

以下是区域在用户实体中的部分:

/**
     * @ORM\Column(name="city", type="integer")
     */
     private $city;

当从城市下拉列表中选择一个选项时,我在表单提交后出现此错误:

Catchable Fatal Error: Object of class CFCWales\UserBundle\Entity\Zone could not be converted to string

我希望$ city存储整数值而不是对象。

1 个答案:

答案 0 :(得分:0)

您需要在Zone实体类顺序中实现__toString()方法,以定义组合框字段的值。

希望这个帮助