Doctrine 原则1.2 DQL中的子查询自

Doctrine 原则1.2 DQL中的子查询自,doctrine,subquery,doctrine-1.2,Doctrine,Subquery,Doctrine 1.2,好的,重要的是在给定一些条件的情况下,获取mysql表中的行,这些行在同一个表中有另一个相关行。这个表就像一个活动日志,所以我想通知某人某个人离开了他的组,但我只想在该人在给定日期之前加入组时发出通知,所以我要做的是下一个sql: SELECT ua.*, ua2.* FROM user_activities AS ua INNER JOIN (SELECT ua2.* FROM user_activities AS ua2 WHERE ua2.

好的,重要的是在给定一些条件的情况下,获取mysql表中的行,这些行在同一个表中有另一个相关行。这个表就像一个活动日志,所以我想通知某人某个人离开了他的组,但我只想在该人在给定日期之前加入组时发出通知,所以我要做的是下一个sql:

SELECT ua.*, ua2.*
  FROM user_activities AS ua 
     INNER JOIN (SELECT ua2.* FROM user_activities AS ua2
                 WHERE ua2.activity = "join-group"
                 ORDER BY ua2.created_at) 
     AS ua2 ON ua2.group_name = ua.group_name AND ua2.user_id = ua.user_id
  WHERE ua.activity = "unjoin-group";
由于清晰的原因,我省略了日期条件

所以我需要知道如何将其转换为原则1.2中的DQL,有可能吗?还是我最好按程序做

我现在尝试的是:

$q = Doctrine_Query::create()
            ->from('UserActivity ua, ua.User u ')
            ->where('ua.created_at > ?', $min_date)
            ->andWhere('ua.activity = ?', "unjoin-group")
            ->andWhereIn('u.status', array(STATUS_HOT, STATUS_ACTIVE))
            ->andWhere('ua.user_id IN ( SELECT
                                            uaa.id
                                        FROM
                                            UserActivity uaa
                                        WHERE
                                            uaa.activity   = ? AND
                                            uaa.created_at < ? AND
                                            uaa.created_at > ? AND
                                            uaa.group_name = ua.group_name
                                        LIMIT 1',
                                            array("join-group", $min_date, $max_date));
但我得到了这个错误:

致命错误已达到最大函数嵌套级别“100”,正在中止


所以我不能继续向前看

我会看看的,谢谢j0k