5

通常の mysql 選択があり、それを Zend Framework mysql 選択に書き直したいと思います。これが私の選択です:

$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
        ";
4

1 に答える 1

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

ゼンドの結果

 while ($row = $sql->fetch()) {
   Zend_Debug::dump($row);
  }
于 2012-11-12T09:45:50.413 に答える