2010-02-10 102 views

回答

2

內部模型的表類(如tableNameTable.class.php):

function getResults() 
{ 
    $results = self::createQuery("q") 
    ->select("q.*") 
    ->orderBy("q.id DESC") 
    ->limit(10) 
    ->execute(); 

    return $results; 
} 

會給你結果的學說集合。

0

根據我的經驗,大多數人不寫特定的表類,但通過CLI工具使用自動生成的Doctrine_Record類。

如果這是你的情況,你可以,如果你發現你總是訂購的ID DESC所有結果,並限制所有查詢到10做類似

//instantiate your record class 
$model = new TableName(); 

$model->getTable() //returns an instance of Doctrine_Table for current Doctrine_Record 
     ->createQuery() //returns a Doctrine_Query instance with the current table loaded 
     ->orderBy("id DESC") 
     ->limit(10) 
     ->execute(); 

,您還可以在教義中添加掛鉤類似記錄類

class TableName extends Base_TableName //most Doctrine Records extend a base record with config info 
{ 
    //this hook will order all by id and limit all queries to 10 
    public function preDqlSelect(Doctrine_Event $event) 
    { 
     $event->getQuery() 
      ->addOrderBy("id DESC") 
      ->limit(10); 
    } 

}