Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 186 Pomógł: 18 Dołączył: 2.09.2010 Ostrzeżenie: (0%)
|
Mam dwie encje:
oraz:
Oraz kontroler:
I otrzymuję błąd: Kod Fatal error: Uncaught exception 'Doctrine\ORM\Mapping\MappingException' with message 'Single id is not allowed on composite primary key in entity Album\Entity\Song' in D:\xampp1.8.2\htdocs\testy\DoctrineCompositeForeignKey\vendor\doctrine\orm\lib\Doctrine\ORM\Mapping\MappingException.php on line 414 Czy to ja robię coś źle? Czy to jakieś dziwne ograniczenie doctrine? Ten post edytował ghost1511 5.11.2014, 14:15:44 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%)
|
Problem zapewne pojawia się w tym miejscu:
Korzystamy tutaj z tablicy $killEmAllData, w której songs identyfikowane są jedynie przez title. Trzeba by było zatem zmienić strukturę danych:
Nie jestem również pewien kolejności wykonywanych działań. Wg dokumentacji https://github.com/doctrine/DoctrineModule/...any-association, najpierw należałoby utworzyć tablicę obiektów Song (jeśli takowe encje w bazie danych nie istnieją), a dopiero później można użyć hydratora, przy czym kolekcja $songs zostanie wypełniona automatycznie. Wtedy kod wyglądałby tak:
Przyjrzyj się dokładniej dokumentacji, którą możesz znaleźć pod odnośnikiem powyżej, bowiem Example 3 opisuje podobny przypadek, z tym, że Ty używasz klucza złożonego w połączeniu z kluczem obcym. |
|
|
|
ghost1511 [Doctrine2] Klucz obcy w encji. 5.11.2014, 14:14:54
mortus Encja Song ma złożony klucz główny (przyjrzyj się ... 5.11.2014, 19:23:17
ghost1511 Zabieg celowy. Wg dokumentacji jest to możliwe:
ht... 5.11.2014, 20:05:50
mortus Skoro jest to zabieg celowy, to konstruktor encji ... 5.11.2014, 20:41:22
ghost1511 Wprowadziłem Twoje zmiany i jednak nie pomogło. Wy... 6.11.2014, 08:18:46
ghost1511 Problemem nie są dane. Kontroler się nawet nie uru... 6.11.2014, 14:55:06 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 15:41 |