使用createQueryBuilder无法正常使用doctrine2中的LIMIT(setMaxResults)更新查询

acj*_*j89 5 php dql symfony doctrine-orm

我有以下代码

$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(); 
Run Code Online (Sandbox Code Playgroud)

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

Cha*_*nel 3

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(); 
Run Code Online (Sandbox Code Playgroud)