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

 }
}
4

2 回答 2

1

你有没有尝试过

 ->order('RAND()')

代替

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

你也可以使用

 $select->__toString();

在您的 db obj 上获取查询字符串,以便您可以回显它并查看它以查看有什么问题。

于 2010-08-02T21:05:10.473 回答
0

您需要将表达式作为字符串传递:“RANDOM()”

例如:->order(new Zend_Db_Expr('RANDOM()'));

于 2010-08-04T11:03:08.860 回答