当我的控制器请求新帐户时,实体会自动生成其客户ID。这是通过以下代码完成的:
/**
* Set custId
*
* @param integer $custId
* @return Account
*/
private function setCustId()
{
$this->custId = rand(1000, 9999);
return $this;
}
仅在此实体中,我想检查数据库中是否已有客户。所以添加以下代码并重复此代码,直到找到一个免费ID。但是已经尝试使用下面的代码访问数据库,但我收到了一个php错误。有人想要吗?
$account = $this->getDoctrine()
->getRepository('MyBundle:Account')
->findOneBy(array('custId' => $this->custId));
答案 0 :(得分:0)
第二种方式,学说水平:
@ORM \ GeneratedValue(策略= “UUID”)
有关Identifier Generation Strategies
的更多信息<强>更新强>
您可以创建Event Listener并使用 PrePersist 事件。 在此活动中,您可以检查实体的任何规则。