IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Transformation d'un backend [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 124
    Par défaut Transformation d'un backend
    Bonjour,

    Dans le cadre d'un stage, je dois adapter les modules générés par l'admin generator pour en faire une interface web classique (transformer un frontend en backend).
    Je cherche donc à ajouter une action show, seulement voilà je n'arrive pas à récupérer les données liées aux relations N..N, je réfléchis encore mais j'aimerai d'abord savoir si vous pensez que c'est réalisable ?

    J'ai un autre problème qui je pense est plus facile à résoudre :
    J'ai une table qui contient deux clés étrangères qui pointent vers la même table seulement voilà l'affichage dans le backend ne fonctionne pas alors que j'ai suivi des exemples que j'ai trouvé dans ce forum :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        Node:
          class: Node
          local: node_id
          foreign: id
          type: one
        Node_5:
          class: Node
          local: node_leading_id
          foreign: id
          type: one
    Voilà, en gros une personne a un node et un node_leading donc j'ai un fichier generator.yml comme ceci :
    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
    generator:
      class: sfDoctrineGenerator
      param:
        model_class:           Person
        theme:                 admin
        non_verbose_templates: true
        with_show:             true
        singular:              ~
        plural:                ~
        route_prefix:          person
        with_doctrine_route:   true
        actions_base_class:    sfActions
     
        config:
          actions: ~
    #        _edit: { credentials: admin }
    #        _delete: { credentials: admin }
          fields:  ~
          list:
            display: [=name, firstname, email, role, title, Institute, Domain, N2dwg, Node, Node_5]
    #...
    Mais j'ai cette erreur qui s'affiche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    500 | Internal Server Error | Doctrine_Record_UnknownPropertyException
    Unknown record property / related component "node5" on "Person"

  2. #2
    Membre éclairé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 702
    Par défaut
    essais comme ça.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Node:
          class: Node
          local: node_id
          foreignAlias: node_id
          type: one
        Node_5:
          class: Node
          local: node_leading_id
          foreignAlias: node5_id
          type: one

  3. #3
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 124
    Par défaut
    Cette solution ne fonctionne pas. J'ai essayé de renommer la deuxième relation en NodeLeading et maintenant quand je choisi d'afficher NodeLeading et Node j'ai la colonne NodeLeading qui s'affiche bien alors que Node n'affiche rien donc je pense que la relation Node est écrasé par NodeLeading.

    Est-ce que je peux surcharger la méthode getNode() dans Person et je fais un appel à une requête getNodeById() de NodeTable.class.php sinon ?

  4. #4
    Membre éclairé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 702
    Par défaut
    Avant de surcharger quoi que ce soit il me semble bon de fouiller côté schema.
    Car si rien ne s'affiche c'est qu'il y'a soucis a ce niveau. Car au minimum tu devrais avoir un ID représentant la relation.

    Tu as bien utilisé la balise foreignAlias au lieu de foreign ?

    Montre nous un peu plus de ton schema car juste avec les relations on peut vite extrapoler

  5. #5
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 124
    Par défaut
    Suite à une discussion avec mon tuteur, on a décidé de transformer la deuxième relation en un booléen mais même après supprimer la deuxième relation, il ne m'affiche toujours rien. Par contre quand je demande node_id, il m'affiche bien l'id.

    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
    Person:
      connection: doctrine
      tableName: person
      actAs : { Timestampable: ~ }
      columns:
        id:
          type: integer(4)
          fixed: false
          unsigned: true
          primary: true
          autoincrement: true
     #...
        node_id:
          type: integer(4)
          fixed: false
          unsigned: true
          primary: false
          notnull: false
          autoincrement: false
    #...
        Node:
          class: Node
          local: node_id
          foreignAlias: node_id
          type: one
    #    NodeLeading:
    #      class: Node
    #      local: node_leading_id
    #      foreignAlias: nodeleading_id
    #      type: one
    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
    Node:
      connection: doctrine
      tableName: node
      columns:
        id:
          type: integer(4)
          fixed: false
          unsigned: true
          primary: true
          autoincrement: true
    #..
        Person:
          local: id
          foreign: node_id
          type: many
    #    Person_5:
    #      class: Person
    #      local: id
    #      foreign: node_leading_id
    #      type: many

  6. #6
    Membre éclairé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 702
    Par défaut
    Je penses que tu as un conflit dans tes noms.
    Tu nommes un colonne de ta table node_id et tu donnes le même nom à ton Alias.

    Perso je la jouerais comme ça :

    Entrecoupé de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    php symfony doctrine:clean-model-files
    afin de nettoyer les models lié aux anciens schema qui par moment pose problème.

    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
    Person:
      actAs : { Timestampable: ~ }
      columns:
        id:
          type: integer(4)
        node_id:
          type: integer(4)
          unsigned: true
    #...
      relations:
        Node:
          class: Node
          local: node_id
          foreignAlias: person_nodes
          type: one
        NodeLeading:
          class: Node
          local: node_leading_id
          foreignAlias: person_nodeleadings
          type: one
    Comme tu n'a pas mis l'intégralité de ton schema j'extrapole en disant que tu souhaites récupérer une valeur texte de ta table plutôt que l'id il te faudra surcharger la class avec un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	public function __toString(){
    		return $this->getChampString();
    	}

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PERL] transformation de fichier
    Par bob20000 dans le forum Langage
    Réponses: 6
    Dernier message: 27/07/2006, 11h13
  2. transformer un fichire Xml en pdf
    Par SuperFoustan dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 21/02/2003, 11h45
  3. transformer un jour en JJ/MM/AA
    Par gemini_010 dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 08/11/2002, 22h55
  4. Transformer un caractère en type énuméré
    Par HT dans le forum Langage
    Réponses: 3
    Dernier message: 22/10/2002, 20h46
  5. FFT(Fast Fourier Transform)
    Par IngBen dans le forum Traitement du signal
    Réponses: 6
    Dernier message: 23/05/2002, 16h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo