2
我有兩個表「系列」和「程序」,程序是多對一的系列。有限制的關係表的學說秩序
系列表
id | name
--------------
1 | lorem
2 | ipsum
3 | foo
4 | bar
計劃表
id | name | series_id
---------------------
1 | program1 | 1
2 | program2 | 2
3 | program3 | 3
4 | program4 | 4
5 | program5 | 1
6 | program6 | 2
7 | program7 | 3
8 | program8 | 4
9 | program9 | 1
10 | program10 | 2
11 | program11 | 1
12 | program12 | 2
我想學說(1.2)與最新的程序,以獲得兩個系列,在這種情況下,系列2,然後是系列1,請參閱程序中的最後兩行。
我的猜測是:
$q = Doctrine_Query::create()->from('Series s')
->leftJoin('s.Programs p')
->orderBy('p.id desc')
->limit(2);
但這返回系列4和系列3的問題是,這種理論會使用不同的查詢得到的ID在做其中的數據將包括在查詢之前,他們使用該策略,因爲我認爲MySql不能在子查詢中使用限制。
我的問題,你會如何獲得系列2和系列1通過DQL?