当我使用以下实体类型字段时,我收到错误, 它显示我选择字段正常,但当我试图保存它时,它给了我以下错误
代码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;
答案 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'
))