Zend-Db 2.9 - SQL с порядком RAND - PullRequest
0 голосов
/ 09 июня 2018

ребята, мне нужна помощь, я использую zend-db 2.9 - и у меня есть sql, которому нужен порядок rand (), но результат этого запроса оказался неправильным мой код:

   $sql    = new Sql($this->dbAdapter);
   $select = $sql->select(
       ['a'=>$this->table]
   );

   $select->order("RAND() ASC");
   $select->limit(1);

   $stt = $sql->prepareStatementForSqlObject($select);
   $res = $stt->execute();

результат:

SELECT `a`.* FROM `mytable` AS `a` ORDER BY `RAND``(``)` ASC LIMIT 1

как это исправить?

1 Ответ

0 голосов
/ 09 июня 2018

Я нашел ответ на этот вопрос: Просто добавьте новое выражение ("RAND ()")

    $sql = new Sql($this->dbAdapter);
    $select = $sql->select(
        ['a'=>$this->table]
    );

    $select->order([new Expression("RAND() ASC")]);
    $select->limit(1);

    $stt = $sql->prepareStatementForSqlObject($select);
    $res = $stt->execute();
...