将mysql子查询转换为连接,因为phalcon php框架查询构建器不支持子查询

时间:2015-06-01 07:56:27

标签: join subquery phalcon

我正在堆叠写几天的查询,感谢有人可以建议我。我使用SUB QUERY编写了查询,但限制是我正在使用PHALCON PHP FRAMEWORK,查询构建器尚不支持子查询。因此需要一些建议才能通过JOINS进行转换。

更多细节:

我需要获取帖子以便在post_notification表中进行最新输入。好吧,我正在构建一个应用程序,我必须根据用户收到的最新通知重新排列帖子列表。

我写的一切:

SELECT p.* , ( SELECT creation_date  FROM uo_notifications AS n
                            WHERE n.post_id = p.id
                            AND n.user_id = ".$user_id ."
                            ORDER BY n.id DESC
                            LIMIT 1
                          ) AS cdate
            FROM uo_posts AS p
            WHERE p.user_id = ".$user_id."
                AND p.group_id = ".$group_id."
            ORDER BY cdate DESC

帖子表:

  1. id PK
  2. 消息
  3. GROUP_ID
  4. CREATION_DATE
  5. post_notifications

    1. id PK
    2. user_id
    3. notify_msg
    4. POST_ID
    5. CREATION_DATE
    6. 提前感谢所有试图帮助我的人。

2 个答案:

答案 0 :(得分:1)

我没有在连接中进行转换,而是使用简单的结果集类型执行此查询并获取结果集,该结果集类型与Phalcon的Paginator类非常兼容。

              // Base model
              $bm = new BaseModel();

              // Execute the query
             $rs = new Phalcon\Mvc\Model\Resultset\Simple(null, $bm, $bm->getReadConnection()->query($sql));

答案 1 :(得分:0)

现在。 Phalcon 2.x有支持子查询,你可以看看http://phalcontip.com/discussion/44/subqueries-subquerieswow