如何检查我的数据库以查看某个列的值是否被多次刷新?
How can I check in my database to see if a value of a column is being flushed more than once?
Symfony2 文档似乎没有以“symfony 方式”解决这个问题。正如我想找到一个使用 Doctrine 查询字段的解决方案。
我想写代码说...如果(值正在添加到数据库中并且该值已经存在)然后只需将“1”添加到“数量”字段。
Doctrine 没有内置的方法来执行此操作,因为它看起来像是自定义逻辑,我会做这样的事情
$item = // .. Get Item From Repository
$newQuantity = 10;
if ($item->getQuantity() === $newQuantity) {
$item->setQuantity($item->getQuantity() + 1);
} else {
$item->setQuantity($newQuantity);
}
$entityManager->flush();
$inputData = x; // your input data
$em = $this->getDoctrine()->getManager();
$entity = newYourEntityName();
$entity = $em->getRepository('corresponding entity)->findOneBy($inputData);
if( !empty($entity) )
{
$entity->setwhateveritis($entity->setwhateveritis++);
}
else
{
$entity->setwhateveritis($inputData);
}
$em->persist($entity);
$em->flush();
Symfony2 文档似乎没有以“symfony 方式”解决这个问题。正如我想找到一个使用 Doctrine 查询字段的解决方案。
我想写代码说...如果(值正在添加到数据库中并且该值已经存在)然后只需将“1”添加到“数量”字段。
Doctrine 没有内置的方法来执行此操作,因为它看起来像是自定义逻辑,我会做这样的事情
$item = // .. Get Item From Repository
$newQuantity = 10;
if ($item->getQuantity() === $newQuantity) {
$item->setQuantity($item->getQuantity() + 1);
} else {
$item->setQuantity($newQuantity);
}
$entityManager->flush();
$inputData = x; // your input data
$em = $this->getDoctrine()->getManager();
$entity = newYourEntityName();
$entity = $em->getRepository('corresponding entity)->findOneBy($inputData);
if( !empty($entity) )
{
$entity->setwhateveritis($entity->setwhateveritis++);
}
else
{
$entity->setwhateveritis($inputData);
}
$em->persist($entity);
$em->flush();