use*_*946 0 php doctrine symfony1 symfony-1.4
用户有更多任务,1:N连接.
视觉:
admin
task1 2011/01/01 00:00:01
task2 2011/01/01 00:00:04
task3 2011/01/01 00:00:02
user2
task1 2011/03/01 00:01:01
task2 2011/03/01 00:01:04
task3 2011/03/01 00:01:02
Run Code Online (Sandbox Code Playgroud)
(参见上一个问题的架构)
如何离开加入用户和最后的"任务",而不是全部?
问题是我不知道如何用纯SQL做到这一点......我在这里看到了一些例子,但它们没有用.
如果我们认为$user_id您在上一个问题中有内部用户ID 并且根据您的架构,您可以尝试这样做:
$q = Doctrine_Query::create()
->select('u.*, t.*')
->from('User u')
->leftJoin('u.Task t')
->where('t.id IN (SELECT t2.id FROM Task t2 WHERE t2.owner_id = ? ORDER BY t2.id DESC LIMIT 1)', array($user_id));
$res = $q->execute();
Run Code Online (Sandbox Code Playgroud)
这是Doctrine 中子查询的文档.
| 归档时间: |
|
| 查看次数: |
360 次 |
| 最近记录: |