Symfony 2实体字段

时间:2014-12-14 23:50:07

标签: symfony entity field

当我使用以下实体类型字段时,我收到错误, 它显示我选择字段正常,但当我试图保存它时,它给了我以下错误

代码1:

        ->add('agentFirstname', 'entity', array(
            'class' => 'AcmeClientBundle:Client',
            'property' => 'firstName',
        ))
  

错误1:捕获致命错误:类的对象   Acme \ ClientBundle \ Entity \ Client无法转换为字符串

当我使用第二个代码时,一切正常

代码2:

           ->add('agentFirstname', 'text', array(
                    )
            )

错误2:无错误

请在下面找到我的实体

    /**
     * @var string
     *
     * @ORM\Column(name="agent_firstname", type="string", length=255)
     */
    private $agentFirstname;

我想在这里为客户名字实体制作选择字段

    /**
     * @var string
     */
    private $firstName;

1 个答案:

答案 0 :(得分:1)

Symfony无法访问$firstName属性,因为其visibility是私有的。

您需要在Acme \ ClientBundle \ Entity \ Client类中添加getFirstName()方法。

public function getFirstName()
{
    return $this->firstName;
}

现在将表单代码更改为:

->add('agentFirstname', 'entity', array(
    'class' => 'AcmeClientBundle:Client', 'property' => 'getFirstName'
))