Bonjour,

en fait c'est très simple, je fais cette requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
$pages = Doctrine_Query::create()
                ->select('p.id, p.nom')
                ->from('Page p')
                ->where('p.parentId IS NULL')
                ->orderBy('p.position')
                ->execute();
et un objet page est définit comme cela (donc il a n enfants possibles qui sont aussi des pages) :

Code YAML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Page:
  columns:
    id:
      primary: true
      type: integer(4)
      autoincrement: true
    nom:
      notnull: true
      type: string(200)
    position:
      notnull: true
      type: integer(4)
    parentId:
      notnull: false
 
  relations:
    Page:
      local: id
      foreign: parentId
      foreignType: one
      type: many

la requête marche,pas de problème, sauf que l'order by position ne se fait que sur les pages parentes, pas les pages enfants...

comment faire pour que lorsque Doctrine hydrate ses pages enfants, elle les order by ?