2009-06-25 43 views
2

讓我們想象一下這樣的事情:主義命名查詢:在查詢通話Specifing限制

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); 
    } 
} 

後來我可以做這樣的事情:

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

有沒有什麼辦法可以設定限制時使用命名查詢,而不是在定義它時?我更喜歡做這樣的事情:

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

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

Thx提前! :-)

回答

2

沒有什麼能阻止你編寫你自己的方法或函數來克隆指定的無限查詢,設置克隆的限制,然後返回結果。

1

我認爲最簡單的辦法可以是:

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