Bonjour à tous,
Voilà, j'ai un petit soucis incompréhensible depuis quelques jours, dans mes relations Doctrine.
Déjà, voici mon YML (simplifié, car un peu trop volumineux):
Dans le cas présent, les fonctions Book::getOeuvresList() et Oeuvre::getBooksList() devraient me renvoyer des listes de résultats du type Doctrine_Collection.
Code : 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
22
23
24
25
26
27
28
29
30
31
32
33
34
35 Oeuvre: actAs: I18n: tableName: oeuvre_title fields: [title, infos] columns: year: {type: smallint } lang: {type: string(64) } comment: {type: string(255) } title: {type: string(255) } infos: {type: string(255) } relations: language: { class: Country, local: lang, foreign: code } Book: columns: id: {type: integer, primary: true } lang: {type: string(2), primary: true } editor_id: {type: integer, notnull: true } title: {type: string(255) } oeuvre_id: {type: integer, notnull: true } relations: language: { class: Country, local: lang, foreign: code } oeuvre: { class: Oeuvre, local: oeuvre_id, foreign: id } BookOeuvre: columns: id: {type: integer, primary: true, notnull: true } lang: {type: string(2), primary: true, notnull: true } oeuvre_id: {type: integer, primary: true, notnull: true } book_id: {type: integer, primary: true, notnull: true } relations: language: { class: Country, local: lang, foreign: code } book: { class: Book, local: id, foreign: id, foreignAlias: OeuvresList } oeuvre: { class: Oeuvre, local: oeuvre_id, foreign: id, foreignAlias: BooksList }
Mais en faisant un var_dump sur les résultats, j'obtients ceci:
Donc ma question est... Pourquoi dans le premier cas je n'obtient pas une liste d'objet, alors que la syntaxe et la même.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var_dump(Book::getOeuvresList()) = object(BookOeuvre) {...} var_dump(Oeuvre::getBooksList()) = object(Doctrine_Collection) { object(BookOeuvre) ...}
J'ai vérifier dans le fichier modèle de Book pour être certain et j'ai bien un liaison du type Many:
Je ne sais vraiment pas où chercher...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $this->hasMany('BookOeuvre as OeuvresList', array( 'local' => 'id', 'foreign' => 'id'));
Merci beaucoup.
Snark.
Partager