Bonjour,

Débutant en sf, je viens de crée mon interface admin.

Voici mon schema.yml (réduit)


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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Element:
  connection: doctrine
  tableName: element
  columns:
    element_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    page_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
    element_titre:
      type: string()
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
  relations:
    Element:
      local: element_id
      foreign: element_id
      type: one
Page:
  connection: doctrine
  tableName: page
  columns:
    page_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    page_nom:
      type: string()
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
 relations:
    Element:
      local: page_id
      foreign: page_id
      type: many
J'affiche le contenue de la table Element, jusque là c'est ok, et je veux crée ma jointure pour remplacé page_id par page_nom (dans l'affiche de Element).
J'ai essayé deux méthodes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
list : 
peer_method: doSelectJoinAll
Résultat : apparemment pas prix en compte dans les nouvelles versions... (Your generator configuration contains some errors for the "list" context. The following configuration cannot be parsed: array( 'peer_method' => 'doSelectJoinAll',).) de l'admin. j'ai essayé list : with : Page, mais j'ai mal du m'y prendre...

Et donc dernier essai :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
      list:
          table_method : getPageNomJoin
 display : [=element_id, page, element_titre]
et dans ElementTable.class.php
public function getPageNomJoin(Doctrine_Query $q)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
  {
    $rootAlias = $q->getRootAlias();
    $q->leftJoin($rootAlias . '.Page p');
    return $q;
  }
Résulat : Catchable fatal error: Method Page::__toString() must return a string value

Vous avez des idées, des choses que j'aurais mal fait ?