2011-04-12 13 views

cevap

108

Doctrine 2.1 yönteminde EntityRepository # findBy() şimdi sipariş, limit ve ofset için ek parametreleri kabul eder.

see full list new features in doctrine 2.1 (404) Relevant link to findBy and findOneBy

örnek:

public function findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null) 

kullanımı:

$product = $repository->findBy(
    array('name' => 'foo'), 
    array('price' => 'ASC'), 
    $myLimit, 
    $myOffset 
); 
+0

Cevap için teşekkürler, NikSen! Son zamanlarda Doctrine'nin sitesini kontrol etmedim, bu yüzden bunu anlamadım! – blacktie24

+1

Cevabın, parametrelerin nasıl kullanıldığına dair örnekleri listelemiş olsaydı gerçekten yardımcı olurdu. – Acyra

+0

Anlaştık, bunun cevabını birkaç dakika boyunca araştırıyorum. – Fapiko

3

Genel depo sınıfının findBy() yöntemi bunu desteklemiyor.

Kendi havuzunuzu yazabilirim (outlined here olarak) ve ek parametreleri almak için findBy() işlevini geçersiz kılar. Yeni uygulamanız, uygun sorguyu oluşturmak için sorgu oluşturucuyu veya eski DQL'yi kullanabilir. (Muhtemelen $ critera paramını sadece QueryBuilder::where()'a iletebildiğiniz gibi, sorgu oluşturucuyu kullanırdım)

+0

Thx timdev, bu, Doctrine 2.0 ile kullanmaya başladığım öneridir. – blacktie24

4

DQL için, sahiptir: QueryBuilder setMaxResults (tamsayı maxResults).

İlgili konular