2014-09-01 46 views
5

çalışma aşağıdaki koduGüncelleme sorgusu (setMaxResults) değil

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

Bu sonuçta sorguda LIMIT geçerli değildir var. Sipariş düzgün çalıştığından için

cevap

1

setMaxResult() son Doktrin beyanı olmak zorunda

örnek:

$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

Bu

$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

Bir başlangıç ​​endeksi ayarlayamıyor yardımcı olabileceğini düşünüyorum UPDATE ifadesinde kullanıldığında LIMIT için. –