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 :

Ou mettre le onDelete: CASCADE [Doctrine]


Sujet :

ORM PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 Ou mettre le onDelete: CASCADE
    Bonjour,

    J'ai besoin lorsque je supprime une entrée de la table "Personnel" cela supprime tout ce qu'il lui est attaché, mais pas l'inverse.

    Je me demande si dans la configuration actuelle je peux, et si je ne vais pas être obligé de créer une table relationnel.

    Pourriez vous m'aider ?
    Merci

    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
     
     
    # config/doctrine/schema.yml
     
    Intitule:
      columns:
        name:  {type: string(255), notnull:true}
        category: {type: integer, notnull:false}
     
     
     
    Personnel:
      actAs: {Timestampable: ~ }
      columns:
        name: {type: string(255), notnull:true}
        lastname: {type: string(255), notnull:true}
        compagny_id: {type: integer, notnull:false}
        dateNaissance: {type: date, notnull:false}
        dateEmbauche: {type: date, notnull:false}
        fonction_id: {type: integer, notnull:false}
        responsable_id: {type: integer, notnull:false}
        autoriSoudure:  {type: boolean, default:false}
        habilElec:  {type: boolean, default:false}
        numHabilElec: {type: string(255), notnull:false}
      relations:
        Intitule:
          class: Intitule
          local: compagny_id
          foreign: id
          foreignAlias: Intitules
        Responsable:
          class: Personnel
          local: responsable_id
          foreign: id
          foreignAlias: Responsables
        Fonction:
          class: Intitule
          local: fonction_id
          foreign: id
          foreignAlias: Fonctions
     
     
    VisiteMedical:
      actAs: {Timestampable: ~ }
      columns:
        personnel_id: {type: integer, notnull:true, unique:true }
        lastVm: {type: date, notnull:false}
        validite:  {type: date, notnull:false}
        etat:  {type: boolean, default:true, default:1}
      relations:
        Personnel:
          foreignAlias: Fiches
     
     
     
    Formation:
      actAs: {Timestampable: ~ }  
      columns:
        personnel_id: {type: integer, notnull:false}
        compagny_id: {type: integer, notnull:false}
        date:  {type: date, notnull:false}
        titre_id: {type: integer, notnull:true}
        niveau: {type: string(255), notnull:false}
        type: {type: integer, notnull:false, default:0}
        dateTitre:  {type: date, notnull:false}
        validite:  {type: date, notnull:false}
        etat:  {type: boolean, default:false, default:1}
      relations:
        Personnel:
          foreignAlias: Fiches
        Compagny:
          class: Intitule
          local: compagny_id
          foreign: id
          foreignAlias: Intitules
        Titre:
          class: Intitule
          local: titre_id
          foreign: id
          foreignAlias: Intitules
     
     
     
    Epi:
      actAs: {Timestampable: ~ }  
      columns:
        personnel_id: {type: integer, notnull:true, unique:true }
        tailleTeeShirtML: {type: integer, notnull:false}
        tailleTeeShirtMC: {type: integer, notnull:false}
        tailleBlouson: {type: integer, notnull:false}
        tailleParka: {type: integer, notnull:false}
        tailleVesteBound: {type: integer, notnull:false}
        taillePantaBound: {type: integer, notnull:false}
        tailleEntreJambe: {type: integer, notnull:false}
        tailleChaussure: {type: integer, notnull:false}
        tailleSweet: {type: integer, notnull:false}
        tailleChemise: {type: integer, notnull:false}
        tailleGilet: {type: integer, notnull:false}
        nbVeste: {type: integer, notnull:false}
        nbPanta: {type: integer, notnull:false}
        modelChaussure: {type: integer, notnull:false}
      relations:
        Personnel:
          foreignAlias: Fiches

  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
    40 Visites et pas une idée, je suis toujours à la recherche de la solution.
    Merci quand même d'avoir tenté.

  3. #3
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    http://www.doctrine-project.org/docu...elete-cascades

    Il faut le mettre sur la table principale, celle qui, quand tu supprime une valeur, il faut toutes les autres soit supprimé avant.

  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
    Merci j'ai placé mes onDelete : Cascade comme suit :

    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
     
     
    # config/doctrine/schema.yml
     
    Intitule:
      columns:
        name:  {type: string(255), notnull:true}
        category: {type: integer, notnull:false}
     
     
     
    Personnel:
      actAs: {Timestampable: ~ }
      columns:
        name: {type: string(255), notnull:true}
        lastname: {type: string(255), notnull:true}
        compagny_id: {type: integer, notnull:false}
        dateNaissance: {type: date, notnull:false}
        dateEmbauche: {type: date, notnull:false}
        fonction_id: {type: integer, notnull:false}
        responsable_id: {type: integer, notnull:false}
        autoriSoudure:  {type: boolean, default:false}
        habilElec:  {type: boolean, default:false}
        numHabilElec: {type: string(255), notnull:false}
      relations:
        Intitule:
          class: Intitule
          local: compagny_id
          foreign: id
          foreignAlias: Intitules
        Responsable:
          class: Personnel
          local: responsable_id
          foreign: id
          foreignAlias: Responsables
        Fonction:
          class: Intitule
          local: fonction_id
          foreign: id
          foreignAlias: Fonctions
     
     
    VisiteMedical:
      actAs: {Timestampable: ~ }
      columns:
        personnel_id: {type: integer, notnull:true }
        lastVm: {type: date, notnull:false}
        validite:  {type: date, notnull:false}
        etat:  {type: boolean, default:true, default:1}
      relations:
        Personnel:
          class: Personnel
          local: personnel_id
          foreign: id
          foreignAlias: Fiches
          onDelete: Cascade
     
     
     
    Formation:
      actAs: {Timestampable: ~ }  
      columns:
        personnel_id: {type: integer, notnull:true}
        compagny_id: {type: integer, notnull:false}
        date:  {type: date, notnull:false}
        titre_id: {type: integer, notnull:true}
        niveau: {type: string(255), notnull:false}
        type: {type: integer, notnull:false, default:0}
        dateTitre:  {type: date, notnull:false}
        validite:  {type: date, notnull:false}
        etat:  {type: boolean, default:false, default:1}
      relations:
        Personnel:
          foreignAlias: Fiches
          onDelete: Cascade
        Compagny:
          class: Intitule
          local: compagny_id
          foreign: id
          foreignAlias: Intitules
        Titre:
          class: Intitule
          local: titre_id
          foreign: id
          foreignAlias: Intitules
     
     
     
    Epi:
      actAs: {Timestampable: ~ }  
      columns:
        personnel_id: {type: integer, notnull:True, unique:true}
        tailleTeeShirtML: {type: integer, notnull:false}
        tailleTeeShirtMC: {type: integer, notnull:false}
        tailleBlouson: {type: integer, notnull:false}
        tailleParka: {type: integer, notnull:false}
        tailleVesteBound: {type: integer, notnull:false}
        taillePantaBound: {type: integer, notnull:false}
        tailleEntreJambe: {type: integer, notnull:false}
        tailleChaussure: {type: integer, notnull:false}
        tailleSweet: {type: integer, notnull:false}
        tailleChemise: {type: integer, notnull:false}
        tailleGilet: {type: integer, notnull:false}
        nbVeste: {type: integer, notnull:false}
        nbPanta: {type: integer, notnull:false}
        modelChaussure: {type: integer, notnull:false}
      relations:
        Personnel:
          foreignAlias: Fiches
          onDelete: Cascade

  5. #5
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    Je ne sais pas si ça marche ce que tu as écrit mais ça ne devrait pas.

    Le lien que je t'ai donné, indique qu'il faut que tu écrive :
    casade: [delete] dans les relations à impacter.

  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
    Cela marche peut être parce que c'est le doctrine de symfony

    En tout cas ça marche

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

Discussions similaires

  1. Combobox en cascade, grisées, et mettre texte dedans.
    Par ben78630 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 30/01/2015, 17h55
  2. Réponses: 11
    Dernier message: 30/11/2010, 09h44
  3. [VB6] mettre en commentaires...
    Par nd25 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 19/04/2004, 15h15
  4. Comment faire pour mettre l'ecran en veille ?
    Par March' dans le forum MFC
    Réponses: 6
    Dernier message: 29/08/2002, 14h25
  5. [langage] Problème de taille de fichier à mettre dans
    Par And_the_problem_is dans le forum Langage
    Réponses: 10
    Dernier message: 13/08/2002, 09h41

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