2009-06-25 4 views
2

Imaginons quelque chose comme ceci:Doctrine Named Requêtes: limite specifing sur appel de requête

class MyTable extends Doctrine_Table 
{ 
    public function construct() 
    { 
     $q = Doctrine_Query::create()->from('MyTable t') 
            ->orderBy('t.creationDate DESC') 
            ->limit(5); 
     $this->addNamedQuery('top5', $q); 
    } 
} 

plus tard je peux faire quelque chose comme ceci:

$top5 = Doctrine::getTable('MyTable')->find('top5'); 

Est-il possible que je peux régler la limite quand en utilisant la requête nommée, et non lors de la définition? Je voudrais vraiment faire quelque chose comme:

$top5 = Doctrine::getTable('MyTable')->find('topX', 5); 

ou

$top5 = Doctrine::getTable('MyTable')->find('topX', array('limit' => 5)); 

Thx à l'avance! :-)

Répondre

2

Rien ne vous empêche d'écrire votre propre méthode ou fonction qui clone la requête illimitée nommée, définit une limite sur le clone, puis renvoie les résultats.

1

Je pense que le chemin le plus court peut être:

Doctrine_Query::create()->select()->from('MyTable')->limit(5)->execute(); 
Questions connexes