Witajcie,
mam problem właśnie z takim rozwiązaniem, a konkretnie z Sonatą, której używam do admina. Używając przykładu podanego w tym wątku chciałbym przy edycji Movie mieć możliwość edycji Mediów powiązanych z tym konkretnym Movie wraz z edycją dodatkowych pól trzymanych w tabeli łączącej.
Zakładam, że definicje w Doctrine mam dobrze, tabele się generują poprawnie kiedy użyję doctrine:schema:update.
Kod w MovieAdmin:
Kod
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('name')
->add('media', 'sonata_type_collection', array(
'by_reference' => false
), array(
'edit' => 'inline',
'inline' => 'table',
'sortable' => 'sortOrder',
))
;
}
Podczas edycji Movie wyświetla się wszystko OK, jest lista powiązanych mediów wraz z dodatkowymi polami, problem jest gdy chcę dodać nowe media. Klikam na przycisk "add new" znajdujący się pod listą, wpisuję co trzeba, klikam "save" i dostaję błąd:
Cytat
Entity of type MySite\MyBundle\Entity\MovieHasMedia is missing an assigned ID for field 'movie'. The identifier generation strategy for this entity requires the ID field to be populated before EntityManager#persist() is called. If you want automatically generated identifiers instead you need to adjust the metadata mapping accordingly.
Jak sobie z tym poradzić? Niedawno zacząłem przygodę z SF2 i mnie zblokowało.

Dzięki wielkie za każdą pomoc.