Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/07/2011, 15h39   #1
Membre Expert
 
Avatar de pmithrandir
 
Homme Pierre Bonneau
Développeur Web
Inscription : mai 2004
Messages : 873
Détails du profil
Informations personnelles :
Nom : Homme Pierre Bonneau
Âge : 28
Localisation : Roumanie

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2004
Messages : 873
Points : 1 593
Points : 1 593
Envoyer un message via MSN à pmithrandir Envoyer un message via Skype™ à pmithrandir
Par défaut Foreign key et NOT NULL

Bonjour,

J'ai dans mon schéma 2 tables (on va simplifier).

Une video qui contient une relation vers la Table Image.
Chaque vidéo peut contenir une image.

Mon champ id_image est non défini, pas de condition not null en BDD.

Mais lorsque je veux inséré une vidéo sans image, il m'envoie toujours une erreur comme quoi la foreign key n'existe pas.

Comment puis je faire ?
Pierre

Code :
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
 
Image:
  connection: doctrine
  tableName: image
  columns:
    id:
      type: integer(8)
      primary: true
      autoincrement: true
    name:
      type: string(45)
      notnull: true
    url:
      type: string(255)
      notnull: true
    width:
      type: integer(8)
      notnull: true   
    height:
      type: integer(8)
      notnull: true
 
Video:
  connection: doctrine
  tableName: video
  actAs:
    I18n:
      fields: [titre]
  columns:
    id:
      type: integer(8)
      primary: true
      autoincrement: true
    titre:
      type: string(45)
    id_image:
      type: integer(8) 
  relations:
    Image:
      local: id_image
      foreign: id
      type: one
pmithrandir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 16h03   #2
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
Bonjour,

j'ai une version assez bourrin, tu crées une image "pas d'image" que prend ton champ id_image par défaut dans ta table vidéo ^^.

Un peu comme par exemple Facebook qui attribue un image par défaut.
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

Ps: N'oubliez pas SVP
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/07/2011, 17h44   #3
Membre Expert
 
Avatar de pmithrandir
 
Homme Pierre Bonneau
Développeur Web
Inscription : mai 2004
Messages : 873
Détails du profil
Informations personnelles :
Nom : Homme Pierre Bonneau
Âge : 28
Localisation : Roumanie

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2004
Messages : 873
Points : 1 593
Points : 1 593
Envoyer un message via MSN à pmithrandir Envoyer un message via Skype™ à pmithrandir
Bonjour,
Merci pour la réponse.

C'est ce que l'on fait maintenant, mais on preferait améliorer notre système et le mettre plus propre.

En plus, ca m’énerve parce que c'est la 2 ou 3eme fois que ca arrive et c'est quand même courant une foreign key a null... et tout a fait valable en BDD.
pmithrandir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 08h25   #4
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
Bonjour,

pour ma part on m'a souvent dit d'éviter de permettre à une clé étrangère d'être null mais bon. Pour qu'il y ait cette erreur cela veux dire que dans ta base tu as renseigner not null à ta clé étrangère. Ne serait il pas mieux (pour pas que cela te pose de problème) de ne pas spécifier dans ta base que cette colonne est une clé étrangère??? Ou alors de mettre la clé étrangère à null au lieu de not null (je ne sais pas du tout si c'est possible).
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

Ps: N'oubliez pas SVP
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 09h13   #5
Membre Expert
 
Avatar de pmithrandir
 
Homme Pierre Bonneau
Développeur Web
Inscription : mai 2004
Messages : 873
Détails du profil
Informations personnelles :
Nom : Homme Pierre Bonneau
Âge : 28
Localisation : Roumanie

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2004
Messages : 873
Points : 1 593
Points : 1 593
Envoyer un message via MSN à pmithrandir Envoyer un message via Skype™ à pmithrandir
Citation:
Envoyé par Retrokiller069 Voir le message
Bonjour,

pour ma part on m'a souvent dit d'éviter de permettre à une clé étrangère d'être null mais bon. Pour qu'il y ait cette erreur cela veux dire que dans ta base tu as renseigner not null à ta clé étrangère. Ne serait il pas mieux (pour pas que cela te pose de problème) de ne pas spécifier dans ta base que cette colonne est une clé étrangère??? Ou alors de mettre la clé étrangère à null au lieu de not null (je ne sais pas du tout si c'est possible).
Dans ma base, il n y a aucune contrainte.

Ne pas avpoir de foreign key voudrait dit avoir un modele symfony casssé, c'est peut envisageable...

Et avoir une clef etrangère a null me parait tout a fait correct d'un point de vue BDD relationnelle. Ca veut juste dire qu'il y a une absence de relation.
pmithrandir est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 09h24   #6
Membre confirmé
 
Avatar de Retrokiller069
 
Homme Bertrand
Étudiant
Inscription : octobre 2010
Messages : 216
Détails du profil
Informations personnelles :
Nom : Homme Bertrand
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : octobre 2010
Messages : 216
Points : 268
Points : 268
Pourrais tu nous montrer ta requête d'insertion par un echo stp?
__________________
Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

Ps: N'oubliez pas SVP
Retrokiller069 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2011, 10h36   #7
Membre Expert
 
Avatar de pmithrandir
 
Homme Pierre Bonneau
Développeur Web
Inscription : mai 2004
Messages : 873
Détails du profil
Informations personnelles :
Nom : Homme Pierre Bonneau
Âge : 28
Localisation : Roumanie

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2004
Messages : 873
Points : 1 593
Points : 1 593
Envoyer un message via MSN à pmithrandir Envoyer un message via Skype™ à pmithrandir
Bon, il semble que ca fonctionne finalement.

Nous n'avons aucune idée de ce qui a changé depuis la dernière fois.
pmithrandir est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h06.


 
 
 
 
Partenaires

Hébergement Web