Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Doctrine] błąd w relacjach
Forum PHP.pl > Forum > Przedszkole
ghul0
Witam, właśnie zacząłem bawić się symfony i mam problem z relacjami w doctrine:

schema.yml
Kod
User:
     actAs:
       Timestampable: ~
     columns:
       id_rank:
         type: integer(4)
         notnull: true
       login:
         type: string(2147483647)
         notnull: true
       password:
         type: string(2147483647)
         notnull: true
       last_login:
         type: timestamp(25)
       email:
         type: string(2147483647)
         notnull: true
       id_klub: integer(4)
       id_stan: integer(4)
     relations:
       Rank:
         local: id_rank
         foreign: id
         onUpdate: CASCADE
         type: many
         foreignType: one
         class: Rank
  
   Rank:
     actAs:
       Timestampable: ~
     columns:
       name:
         type: string(255)
         notnull: true



ranks.yml
Kod
Rank:
   root:
     name: Root
   admin:
     name: Administrator


users.yml
Kod
User:
   ghul0:
     Rank: root
     id: 0
     login: ghul0
     password: *****
     email: ghul1991@gmail.com



po uruchomieniu komendy:
Kod
doctrine:data-load


doctrine wywala mi:
Kod
Couldn't call Doctrine::set(), second argument should be an instance of Doctrine_Collection when setting one-to-many references.



problem jest na pewno z linijką na czerwono ale mam pytanie jaki?
Zyx
Żadnej linijki na czerwono nie widzę, natomiast widzę, że nie stworzyłeś w żadnej z tabel pola "id". Ponadto pomyliłeś się przy tworzeniu relacji. Użytkownik ma jedną rangę, a ranga ma wielu użytkowników, dlatego powinno być:

Kod
         type: one
         foreignType: many


Mam też pytanie, co kierowało Tobą przy wyborze rozmiaru pól tekstowych rzędu 2 GB? smile.gif Przewidujesz takie długie loginy?
ghul0
Dzięki

Doctrine sam tworzy pole id ale nie jest ono kluczem podstawowym i przy relacjach jeden do wielu mi wywalało błąd przy dodawaniu do bazy

teraz jest ok!

wielkość taka była w przykładzie i skopiowałem ale dzięki że zwróciłeś na to uwagę

Teraz wszystko śmiga ok:)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.