2010-08-02 37 views
2

我正在使用Zend框架並試圖讓結果以隨機順序。這會返回結果,但似乎不會改變順序。有任何想法嗎?爲什麼這不是隨機的命令?

class Model_DBTable_Tblquotes extends Zend_Db_Table 
{ 
public function getQuotes() 
{ 
    $select = $this->select(); 
     $select->setIntegrityCheck(false) 
       ->from('tblQuotes',array('id','quote','author','dateCreated')) 
     ->order(new Zend_Db_Expr('RAND()')) 
     ->limit(25, 0); 

     return $this->fetchAll($select); 

} 
} 

回答

1

你試過

->order('RAND()') 

,而不是

->order(new Zend_Db_Expr('RAND()')) 

您還可以使用

$select->__toString(); 

在你的數據庫OBJ得到查詢,以便您的字符串可以迴應它,並看它看看有什麼不對。

+0

原來我的原代碼工作正常。然而,我確實有Windows 7和我的版本的Filezilla的緩存問題 - 多麼討厭! :)標記爲答案,因爲您的答案可能有用 – Andrew 2010-08-06 08:44:56

0

需要在表達式作爲字符串來傳遞: 「RANDOM()」

例如: - >順序(新Zend_Db_Expr( 'RANDOM()'));