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

ORM PHP Discussion :

Lier deux champs d'une table à une seconde table


Sujet :

ORM PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Lier deux champs d'une table à une seconde table
    Hello.

    En bon débutant qui se respecte, je me prends la tête sur un truc apparemment tout bête :

    Dans mon fichier schema.yml, je voudrais créer une relation entre 2 champs d'une même table et une seconde table. L'idée étant, dans un formulaire, d'avoir 2 listes déroulantes identiques pour renseigner les 2 champs.

    En gros, mon fichier schema.yml est construit comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    myList:
      columns:
        name: { type: string(255), notnull: true, unique: true  }
     
    myTable:
      columns:
        ...
        liste1: { type: integer,     notnull: true  }
        ...
        liste2: { type: integer,     notnull: true  }
        ...
      relations:
        myList: { local: liste1, foreign: id,   foreignAlias: myAlias}
    Mais moi, ce que je veux, c'est que mes 2 listes soient liées à ma table mylist.

    J'ai tenté un truc du style :
    myList: { local: [liste1,liste2], foreign: id, foreignAlias: myAlias}
    Mais visiblement, c'est pas comme ça qu'il faut faire...

    Est-ce que quelqu'un pourrait me filer un petit coup de main pour que je comprenne enfin comment fonctionnent les relations ?
    Merci d'avance
    Dernière modification par Invité ; 30/03/2011 à 10h59.

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Un truc comme cela (revu à ma façon)
    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
     
    myList:
      columns:
        name:
          type: string(255)
          notnull: true
          unique: true 
     
    myTable:
      columns:
        ...
        liste1_id:
          type: integer
          notnull: true
        liste2_id:
          type: integer
          notnull: true
        ...
      relations:
        myList1:
          class: myList
          local: liste1_id
          foreignAlias: my1Tables
        myList2:
          class: myList
          local: liste2_id
          foreignAlias: my2Tables

  3. #3
    Invité
    Invité(e)
    Par défaut
    C'est bien ce que je pensais : c'était pas compliqué du tout

    Un grand merci à toi Michel !

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

Discussions similaires

  1. [AJAX] lier deux listes déroulantes alimenté par une base de données (Mysql)
    Par arnaudperfect dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/04/2007, 01h06
  2. Réponses: 3
    Dernier message: 22/11/2006, 10h35
  3. Comment lier deux champs ..
    Par Alexy3171 dans le forum Access
    Réponses: 1
    Dernier message: 11/09/2006, 20h21
  4. Lier deux champs dans deux tables ?
    Par Olivierc dans le forum Access
    Réponses: 3
    Dernier message: 28/04/2006, 23h13
  5. lier deux base de données par un même table
    Par id dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/02/2006, 14h28

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