2010-12-30 2 views
0

Je suis en train de générer des modèles de doctrine du schéma YAMLDoctrine générer des modèles - problème avec le type de relation

J'ai schéma comme ça:

Product: 
    columns: 
     id: 
      type: integer(5) 
      primary: true 
      unsigned: true 
      autoincrement: true 
     activation_time: 
      type: datetime 
      notnull: true 
     enduser_id: 
      type: integer(5) 
      unsigned: true 
      notnull: true 
    relations: 
     Enduser: 
      foreignType: one 
      type: one 
      foreignAlias: Product 

Hostid: 
    columns: 
     id: 
      type: integer(5) 
      primary: true 
      unsigned: true 
      autoincrement: true 
     value: 
      type: string(32) 
      fixed: true 
      notnull: true 

Order: 
    columns: 
     id: 
      type: integer(5) 
      primary: true 
      autoincrement: true 
      unsigned: true 
     expire_date: 
      type: datetime 
     description: 
      type: clob 

Enduser: 
    columns: 
     id: 
      type: integer(5) 
      primary: true 
      unsigned: true 
      autoincrement: true 
     hostid_id: 
      type: integer(5) 
      unsigned: true 
      notnull: true 
     order_id: 
      type: integer(5) 
      unsigned: true 
      notnull: true 
    relations: 
     Order: 
      foreignAlias: Endusers 
     Hostid: 
      foreignAlias: Endusers 

et le problème est que les modèles générés par la doctrine generate-modèles- YAML sont mal dans BaseEnduser $ Le produit est défini comme Doctrine_Collection

$ this-> hasMany ('produit', array ( 'locale' => 'id', => 'étranger' 'enduser_id'));

à la place juste Objet produit

Qu'est-ce que je me suis trompé?

relation est définie comme foreignType: un type : un

Répondre

0

Accodring au one-to-one example, vous faites juste pour "produit"

relations: 
    Enduser: 
     foreignType: one 

Le reste semble très bien l'OMI. Pas besoin de définir autre chose puisque vous ne stockez que la référence de l'Enduser avec son produit (qui est en quelque sorte câblé sans savoir ce que vous voulez faire, un utilisateur ne peut pas avoir beaucoup de produits et vice versa?)

+0

problème, j'ai fait comme vous avez écrit (foreignType: un) et il ne fonctionne pas; ( – mrok

+0

Avez-vous la possibilité de créer la base de données et laisser Doctrine générer les modèles/yml pour vous? Semble stupide mais de cette façon, vous pouvez voir où l'erreur est: – DrColossos

+0

Je l'ai résolu, au lieu de l'onglet j'utilise 2 espaces et tout s'est bien passé. – mrok

Questions connexes