在Symfony平台上检查实体中的数据库字段

时间:2016-03-24 20:33:50

标签: symfony

当我的控制器请求新帐户时,实体会自动生成其客户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));

1 个答案:

答案 0 :(得分:0)

  1. 您可以使用 uniqid 生成唯一ID。
  2. 第二种方式,学说水平:

    @ORM \ GeneratedValue(策略= “UUID”)

  3. 有关Identifier Generation Strategies

    的更多信息

    <强>更新

    您可以创建Event Listener并使用 PrePersist 事件。 在此活动中,您可以检查实体的任何规则。