用symfony中旧值的连接更新查询



我正在尝试使用symfony查询生成器更新列值。问题是我不希望旧值被覆盖,我想用逗号分隔连接新值和旧值,就像下面

id   fruits  
------------------                                                                    
1   orange,apple

这是我的查询它只是更新旧值,水果列的类型是longtext

public function updateById($id,$fruit) {
    return $this->createQueryBuilder('c')
        ->update()
        ->set('c.fruits', ':fruits')
        ->where('c.id LIKE :id')
        ->setParameter('id', $id)
        ->setParameter('fruits', $fruit)
        ->getQuery()
        ->getArrayResult();
}

为什么不这样做:

$foo = $fruitRepo->find($id);
/** @var string $fruits */
$fruits = $foo->getFruits();
$foo->setFruits($fruits . ',' . $newFruit);
$fruitRepo->save($foo); // this method persist and flush

最新更新