我使用的是条令2,我的实体有如下变量集:
/**
* @ORM'Column(type="string")
*/
protected $phone_number;
/**
* @ORM'Column(type="string")
*/
protected $e_mail;
现在我想用Hydrator从数组中填充这个变量,如下所示:
public function fromArray($values)
{
$hydrator = new 'Hydrator'ClassMethodsHydrator();
$hydrator->hydrate($values, $this);
}
但在使用此函数后,我遇到了错误,因为Hydrator试图调用setphoneNumber()而不是set Phone_number()。。
你能帮助我如何实现我的目标,而不是将下划线改为camelCase吗?
感谢
尝试:
/**
* @ORM'Column(type="string", name="phone_number")
*/
protected $phoneNumber;
在创建数据库架构时,Doctrine会将您的phoneNumber重命名为phone_number,但通过使用''Column或''Table Definition中的name属性,您可以确保使用了您的名称。
因此,在数据库表列中,它是:phone_number
您的实体属性被称为:phoneNumber
因此,这通常会在setPhoneNumber中结束,用于setter,这很好。