Bonjour, je suis actuellement sur Symfony 1.4 avec doctrine 1.2. Je voulais faire la même chose que toi avec une clef étrangère dans la table translation pour avoir une table média commune à tout mon projet.
Donc j'ai réussi.. je te balance mon schema.yml Ma Table "Media" : Media: connection: doctrine tableName: media actAs: SoftDelete: fields: [deleted_at] Timestampable: fields: [created_at, updated_at] options: type: InnoDB collate: utf8_unicode_ci charset: utf8 symfony: filter: false columns: id: { type: integer(4), notnull: true, unsigned: true, primary: true, autoincrement: true } type: { type: string(50), notnull: true } filename: { type: string(255), notnull: false, default: NULL } file_size: { type: integer, notnull: false, default: NULL } file_width: { type: integer, notnull: false, default: NULL } file_height: { type: integer, notnull: false, default: NULL } type_mime: { type: string(50), notnull: false, default: NULL } extension: { type: string(5), notnull: false, default: NULL } Ma Table "Pdf" : Pdf: connection: doctrine tableName: pdf actAs: I18n: fields: [titre, media_id] SoftDelete: fields: [deleted_at] Timestampable: fields: [created_at, updated_at] options: type: InnoDB collate: utf8_unicode_ci charset: utf8 columns: id: { type: integer(4), notnull: true, unsigned: true, primary: true, autoincrement: true } titre: { type: varchar(255), notnull: true } hidden: { type: boolean, notnull: true, default: 1 } media_id: { type: integer(4), notnull: false, unsigned: true, default: NULL } relations: Media: { class: Media, local: media_id, foreign: id, type: one, foreignType: many } Par contre le problème que j'ai eu, c'est que ma relation je la nomme rarement avec le nom de ma table qui fait appelle!! Donc ma relation Media dans ma table Pdf je l'appelle Fichier, c'est une grosse erreur car doctrine n'arrive pas à faire la relation entre Pdf et Media. Donc le plus simple est d’appelé ça relation du même nom que la table relationnelle. J'espère que j'ai était assez clair? Si ça peut aidé... Le vendredi 3 juillet 2009 11:50:12 UTC+2, FabD a écrit : > > Le 3 juillet 2009 11:31, mikael.randy<mikael.ra...@gmail.com> a écrit : > > > > Non, non, je cherche bien à associer une image par traduction. > > > > Chaque traduction n'aura pas la même image, pour différentes raison > > (la principale étant que le client le demande xD), et je doit donc > > faire en sorte que chaque traduction de chaque catégorie puisse être > > associée à un media. > > Tout en sachant que les médias pourront être associés à d'autres > > tables, qui ne seront pas traduites. Il est donc exclu de créer une > > traduction de mes médias ;) > > > > Ok, au temps pour moi, je n'avais compris ce que tu voulais faire :-( > Je pense que ce n'est pas possible de le faire à partir du schema yml. > > J'ai cherché il n'y a pas longtemps à mettre une clé étrangère sur la > langue utilisée dans les tables de traduction, ce n'était pas possible > à partir du schéma yml. > > Fabien > > > On 3 juil, 11:17, "FlyLM [ML]" <flylm...@gmail.com> wrote: > >> Le 3 juillet 2009 10:30, mikael.randy<mikael.ra...@gmail.com> a écrit > : > >> > >> > >> > >> > >> > >> > >> > >> > Bonjour à tous > >> > >> > Développeur Symfony et Propel depuis plus d'un an, j'amorce désormais > >> > le virage vers Doctrine. > >> > Pour mon 1er projet, je me retrouve confronté à une difficulté que je > >> > n'arrive pas à résoudre, même si je ne doute pas que Doctrine sais le > >> > faire et que vous allez me débloquer facilement . ;o) > >> > >> > Voilà, comment, depuis un schema.yml avec Doctrine, définir une clé > >> > étrangère dans une table I18n ? > >> > >> > Je m'explique, j'ai une table "Category", qui est traduite, via > >> > l'utilisation du behavior "I18n", et une table "Media". > >> > Je voudrais disposer d'un champ "id_media" dans la table > >> > "Category_translate" qui pointe sur la table "Media". > >> > >> > Voici le schéma de base, sans la clé étrangère : > >> > ================================== > >> > Category: > >> > actAs: > >> > I18n: > >> > fields: [name, id_media] > >> > columns: > >> > id_thematique: { type: integer, primary: true, notnull: true, > >> > autoincrement: true } > >> > name: { type: string(45) } > >> > id_media: {type: integer } > >> > >> > Media: > >> > columns: > >> > id_media: { type: integer, primary: true, notnull: true, > >> > autoincrement: true } > >> > ================================== > >> > >> > J'ai tenté de définir la relation dans la table "Category", mais j'ai > >> > un message d'erreur du type "Category.id_media not exist". > >> > J'ai également tenté de définir la relation dans le behavior, mais > >> > sans résultat, sans message d'erreur. > >> > >> > Est-ce que quelqu'un sait comment faire ? > >> > >> Quel est l'intérêt de vouloir passer "id_media" dans une table de > traduction ?? > >> > >> Ce ne serait pas plutôt cela que tu veux faire : > >> > >> Category: > >> actAs: > >> I18n: > >> fields: [name] > >> columns: > >> id_thematique: { type: integer, primary: true, autoincrement: true > } > >> name: { type: string(45) } > >> id_media: {type: integer } > >> relations: > >> Media: { onDelete: CASCADE, local: id_media, foreign: id_media, > >> foreignAlias: Categories } > >> > >> Media: > >> columns: > >> id_media: { type: integer, primary: true, autoincrement: true } > >> > >> Fabien > > > > > > Le vendredi 3 juillet 2009 11:50:12 UTC+2, FabD a écrit : > > Le 3 juillet 2009 11:31, mikael.randy<mikael.ra...@gmail.com> a écrit : > > > > Non, non, je cherche bien à associer une image par traduction. > > > > Chaque traduction n'aura pas la même image, pour différentes raison > > (la principale étant que le client le demande xD), et je doit donc > > faire en sorte que chaque traduction de chaque catégorie puisse être > > associée à un media. > > Tout en sachant que les médias pourront être associés à d'autres > > tables, qui ne seront pas traduites. Il est donc exclu de créer une > > traduction de mes médias ;) > > > > Ok, au temps pour moi, je n'avais compris ce que tu voulais faire :-( > Je pense que ce n'est pas possible de le faire à partir du schema yml. > > J'ai cherché il n'y a pas longtemps à mettre une clé étrangère sur la > langue utilisée dans les tables de traduction, ce n'était pas possible > à partir du schéma yml. > > Fabien > > > On 3 juil, 11:17, "FlyLM [ML]" <flylm...@gmail.com> wrote: > >> Le 3 juillet 2009 10:30, mikael.randy<mikael.ra...@gmail.com> a écrit > : > >> > >> > >> > >> > >> > >> > >> > >> > Bonjour à tous > >> > >> > Développeur Symfony et Propel depuis plus d'un an, j'amorce désormais > >> > le virage vers Doctrine. > >> > Pour mon 1er projet, je me retrouve confronté à une difficulté que je > >> > n'arrive pas à résoudre, même si je ne doute pas que Doctrine sais le > >> > faire et que vous allez me débloquer facilement . ;o) > >> > >> > Voilà, comment, depuis un schema.yml avec Doctrine, définir une clé > >> > étrangère dans une table I18n ? > >> > >> > Je m'explique, j'ai une table "Category", qui est traduite, via > >> > l'utilisation du behavior "I18n", et une table "Media". > >> > Je voudrais disposer d'un champ "id_media" dans la table > >> > "Category_translate" qui pointe sur la table "Media". > >> > >> > Voici le schéma de base, sans la clé étrangère : > >> > ================================== > >> > Category: > >> > actAs: > >> > I18n: > >> > fields: [name, id_media] > >> > columns: > >> > id_thematique: { type: integer, primary: true, notnull: true, > >> > autoincrement: true } > >> > name: { type: string(45) } > >> > id_media: {type: integer } > >> > >> > Media: > >> > columns: > >> > id_media: { type: integer, primary: true, notnull: true, > >> > autoincrement: true } > >> > ================================== > >> > >> > J'ai tenté de définir la relation dans la table "Category", mais j'ai > >> > un message d'erreur du type "Category.id_media not exist". > >> > J'ai également tenté de définir la relation dans le behavior, mais > >> > sans résultat, sans message d'erreur. > >> > >> > Est-ce que quelqu'un sait comment faire ? > >> > >> Quel est l'intérêt de vouloir passer "id_media" dans une table de > traduction ?? > >> > >> Ce ne serait pas plutôt cela que tu veux faire : > >> > >> Category: > >> actAs: > >> I18n: > >> fields: [name] > >> columns: > >> id_thematique: { type: integer, primary: true, autoincrement: true > } > >> name: { type: string(45) } > >> id_media: {type: integer } > >> relations: > >> Media: { onDelete: CASCADE, local: id_media, foreign: id_media, > >> foreignAlias: Categories } > >> > >> Media: > >> columns: > >> id_media: { type: integer, primary: true, autoincrement: true } > >> > >> Fabien > > > > > > Le vendredi 3 juillet 2009 11:50:12 UTC+2, FabD a écrit : > > Le 3 juillet 2009 11:31, mikael.randy<mikael.ra...@gmail.com> a écrit : > > > > Non, non, je cherche bien à associer une image par traduction. > > > > Chaque traduction n'aura pas la même image, pour différentes raison > > (la principale étant que le client le demande xD), et je doit donc > > faire en sorte que chaque traduction de chaque catégorie puisse être > > associée à un media. > > Tout en sachant que les médias pourront être associés à d'autres > > tables, qui ne seront pas traduites. Il est donc exclu de créer une > > traduction de mes médias ;) > > > > Ok, au temps pour moi, je n'avais compris ce que tu voulais faire :-( > Je pense que ce n'est pas possible de le faire à partir du schema yml. > > J'ai cherché il n'y a pas longtemps à mettre une clé étrangère sur la > langue utilisée dans les tables de traduction, ce n'était pas possible > à partir du schéma yml. > > Fabien > > > On 3 juil, 11:17, "FlyLM [ML]" <flylm...@gmail.com> wrote: > >> Le 3 juillet 2009 10:30, mikael.randy<mikael.ra...@gmail.com> a écrit > : > >> > >> > >> > >> > >> > >> > >> > >> > Bonjour à tous > >> > >> > Développeur Symfony et Propel depuis plus d'un an, j'amorce désormais > >> > le virage vers Doctrine. > >> > Pour mon 1er projet, je me retrouve confronté à une difficulté que je > >> > n'arrive pas à résoudre, même si je ne doute pas que Doctrine sais le > >> > faire et que vous allez me débloquer facilement . ;o) > >> > >> > Voilà, comment, depuis un schema.yml avec Doctrine, définir une clé > >> > étrangère dans une table I18n ? > >> > >> > Je m'explique, j'ai une table "Category", qui est traduite, via > >> > l'utilisation du behavior "I18n", et une table "Media". > >> > Je voudrais disposer d'un champ "id_media" dans la table > >> > "Category_translate" qui pointe sur la table "Media". > >> > >> > Voici le schéma de base, sans la clé étrangère : > >> > ================================== > >> > Category: > >> > actAs: > >> > I18n: > >> > fields: [name, id_media] > >> > columns: > >> > id_thematique: { type: integer, primary: true, notnull: true, > >> > autoincrement: true } > >> > name: { type: string(45) } > >> > id_media: {type: integer } > >> > >> > Media: > >> > columns: > >> > id_media: { type: integer, primary: true, notnull: true, > >> > autoincrement: true } > >> > ================================== > >> > >> > J'ai tenté de définir la relation dans la table "Category", mais j'ai > >> > un message d'erreur du type "Category.id_media not exist". > >> > J'ai également tenté de définir la relation dans le behavior, mais > >> > sans résultat, sans message d'erreur. > >> > >> > Est-ce que quelqu'un sait comment faire ? > >> > >> Quel est l'intérêt de vouloir passer "id_media" dans une table de > traduction ?? > >> > >> Ce ne serait pas plutôt cela que tu veux faire : > >> > >> Category: > >> actAs: > >> I18n: > >> fields: [name] > >> columns: > >> id_thematique: { type: integer, primary: true, autoincrement: true > } > >> name: { type: string(45) } > >> id_media: {type: integer } > >> relations: > >> Media: { onDelete: CASCADE, local: id_media, foreign: id_media, > >> foreignAlias: Categories } > >> > >> Media: > >> columns: > >> id_media: { type: integer, primary: true, autoincrement: true } > >> > >> Fabien > > > > > > -- Vous recevez ce message, car vous êtes abonné au groupe Google Groupes Symfony-fr. Cette discussion peut être lue sur le Web à l'adresse https://groups.google.com/d/msg/symfony-fr/-/FWotmA1F8ScJ. Pour envoyer un message à ce groupe, adressez un e-mail à symfony-fr@googlegroups.com. Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse symfony-fr+unsubscr...@googlegroups.com. Pour plus d'options, consultez la page de ce groupe : http://groups.google.com/group/symfony-fr?hl=fr