我正在Symfony项目中添加新实体。
在每个实体设置上,我添加了一个词。我需要添加一个从1到...的数字,并添加具有相同名称的每个实体。
例如:
username = $entity->getUsername() . '-added' +1;
$email = $entity->getEmail(). '-added' +1;
$entity->setUsername($username);
$entity->setEmail($email);
$this->em->flush();
所以每次添加的结果可能是:
[email protected]
[email protected]
[email protected]
依此类推..
我以为可以用count()完成。我找不到类似的东西。
因此,如何在此示例中使用php动态添加数字?
使用用于循环:
$rows = 10; //count of your rows
for($i=1;$i<=$rows;$i++){
$username = $entity->getUsername() . '-added-' .$i;
$email = $entity->getEmail(). '-added-' .$i;
$entity->setUsername($username);
$entity->setEmail($email);
$this->em->flush();
}
您应该尝试使用Symfony UniqueEntity Constraint这样,用:
定义您的实体@Assert\UniqueEntity(fields={"mail"})
@Assert\UniqueEntity(fields={"username"})
如果已经存在具有此邮件或用户名的另一个实体,则在控制器中调用的$form->isValid()
方法将使表格无效时,将使表格无效。