我有以下代码

$qb = $this->createQueryBuilder('cs')
        ->update()
        ->set('cs.is_active', 1)
        ->where('cs.reward_coupon = :reward_coupon')
        ->setMaxResults($limit)
        ->setParameter('reward_coupon', $rewardCoupon);
$qb->getQuery()->execute();

这不会在结果查询中应用LIMIT。

最佳答案

setMaxResult()必须是您的最后一个Doctrine语句,才能正常工作

例子 :

    $qb = $this->createQueryBuilder('cs')
    ->update()
    ->set('cs.is_active', 1)
    ->where('cs.reward_coupon = :reward_coupon')
    ->setParameter('reward_coupon', $rewardCoupon)
    ->setMaxResults($limit);


     return $qb->getQuery()->execute();

关于php - 使用createQueryBuilder无法在doctrine2中使用LIMIT(setMaxResults)更新查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25606448/

10-14 02:29