如何用IF重写正常的sql select到Zend Framework select?

Kad*_*ria 5 php mysql zend-framework

我有一个正常的mysql选择,我想将它重写为Zend Framework mysql select.这是我的选择:

$sql = "
     SELECT 
        IF(mu.recieverUserId = '{$userId}', u.senderUserId, 
            mu.recieverUserId) friend1,
            u.mesaj, u.senderUserId, mu.recieverUserId,
            u.created
        FROM 
            (SELECT * 
            FROM mesaje
            ORDER BY `created` desc) AS u
        LEFT JOIN `mesaje_utilizatori` AS `mu` ON u.id=mu.mesajId   
        WHERE (mu.recieverUserId = '{$userId}' OR   u.senderUserId='{$userId}')             
              GROUP BY friend1 ASC 
          ORDER BY `u`.`created` DESC, u.id DESC
        ";
Run Code Online (Sandbox Code Playgroud)

tse*_*ium 2

这是文档:Zend_Db_Statement

Zend 查询

$sql = $db->query(
   'SELECT 
   IF(mu.recieverUserId = ?, u.senderUserId, 
     mu.recieverUserId) friend1,
   u.mesaj, u.senderUserId, mu.recieverUserId,
   u.created
    FROM 
   (SELECT * 
   FROM mesaje
   ORDER BY `created` desc) AS u
   LEFT JOIN `mesaje_utilizatori` AS `mu` ON u.id=mu.mesajId 
    WHERE (mu.recieverUserId = ? OR u.senderUserId = ? )    
    GROUP BY friend1 ASC 
    ORDER BY `u`.`created` DESC, u.id DESC',
   array($userId, $userId,$userId)
  );
Run Code Online (Sandbox Code Playgroud)

Zend 结果

 while ($row = $sql->fetch()) {
   Zend_Debug::dump($row);
  }
Run Code Online (Sandbox Code Playgroud)