Symfony2文档似乎没有以“symfony方式”解决这个问题。正如我想找到一个使用Doctrine查询字段的解决方案。
我想编写代码来说明... if(将值添加到数据库中并且值已经存在)然后只需将“1”添加到“数量”字段。
答案 0 :(得分:0)
Doctrine没有内置的方法来实现这一点,因为它似乎是自定义逻辑,我会做这样的事情
$item = // .. Get Item From Repository
$newQuantity = 10;
if ($item->getQuantity() === $newQuantity) {
$item->setQuantity($item->getQuantity() + 1);
} else {
$item->setQuantity($newQuantity);
}
$entityManager->flush();
答案 1 :(得分:0)
$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();