Search code examples
mysqlzend-frameworkzend-db

How i can realize the next mysql query on zend?


SELECT * FROM ( 
  SELECT  `* FROM  `messages` 
  ORDER BY  `message_id` DESC 
  LIMIT 15
) AS temp
ORDER BY message_id ASC

Solution

  • $sub_select = $db->select();
    $sub_select->from('messages');
    $sub_select->order('message_id desc');
    $sub_select->limit(15);
    
    $select = $db->select();
    $select->from(array('temp' => new Zend_Db_Expr('(' . $sub_select . ')')));
    $select->order('message_id asc');
    

    Doc : http://framework.zend.com/manual/1.12/en/zend.db.select.html