2014-09-01 73 views
5

我有以下代碼更新查詢與LIMIT(setMaxResults)不工作

$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(); 

這並不在結果查詢申請的限制。

回答

1

setMaxResult()必須是你最後的原則聲明,以正確的工作

例如:

$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(); 
-1

我認爲這可能有助於

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

你不能設置一個起始索引在UPDATE語句中使用時爲LIMIT。 – 2017-03-19 14:56:48