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 :

Problème: table associative insertion unique


Sujet :

ORM PHP

  1. #1
    Nouveau Candidat au Club
    Problème: table associative insertion unique
    Bonjour à tous,

    Je travaille actuellement sur un projet pour une école. Des étudiants peuvent s'inscrire à des blocs (différents cours).
    Ces blocs ont des propriétés qui sont différentes pour chaque étudiant (notes du bloc ou taux de participation au bloc, par exemple).

    Concrètement, j'ai créé une table etudiant, une table bloc et une table associative etudiantBloc du fait de la relation n-n entre etudiant et bloc

    Mon problème: Pour l'instant, un étudiant peut être relié uniquement à un seul bloc, dès que j'attribue une nouvelle relation entre le même étudiant et un autre bloc, l'entrée précédente est supprimée et remplacée par la nouvelle. Ce qui est totalement incohérent car un étudiant ne pourrait participer qu'à un bloc.

    Voici mon schema .yml :
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    etudiant:
      columns:
        numero:
          type: integer(4)
          primary: true
          notnull: true
          autoincrement: true
        titre:
          type: enum
          values: ['M','Mme','Mlle']
          notnull: true
        nom:
          type: string(45)
          notnull: true
        prenom:
          type: string(45)
          notnull: true
        dateNaissance:
          type: date
        localite:
          type: string(45)
        canton:
          type: string(45)
      relations:
        blocs:
          class: bloc
          local: etudiant_numero
          foreign: bloc_numero
          refClass: etudiantbloc
          foreignAlias: etudiants
          type: one
     
    bloc:
      connection: doctrine
      columns:
        numero:
          type: integer(4)
          primary: true
          autoincrement: true
        code:
          type: string(10)
        nom:
          type: string(60)
        date:
          type: date
        heuresEnseignees:
          type: integer(4)
     
    etudiantbloc:
      connection: doctrine
      columns:
        etudiant_numero:
          type: integer(4)
          primary: true
        bloc_numero:
          type: integer(4)
          primary: true
        statut:
          type: enum
          values: ['Inscrit','Echec','Réussi']
        note:
          type: double
        heuresParticipation:
          type: double
        prix:
          type: double
      relations:
        etudiant:
          local: etudiant_numero
          foreign: numero
          type: many
        bloc:
          local: bloc_numero
          foreign: numero
          type: many


    Si vous avez des idées de pistes à me donner, je vous en remercie d'avance.

  2. #2
    Membre éprouvé
    etudiant.relations.blocs: que vient faire le 'type: one' ici ?????

###raw>template_hook.ano_emploi###