2010-08-02 44 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()'));