Stop SonataAdmin / Symfony2 from creating empty objects with sonata_type_admin embedded admins Stop SonataAdmin / Symfony2 from creating empty objects with sonata_type_admin embedded admins symfony symfony

Stop SonataAdmin / Symfony2 from creating empty objects with sonata_type_admin embedded admins


It might be caused by a missing 'required' => false, no ?

protected function configureFormFields(FormMapper $formMapper) {    $formMapper        ->add('color',              null, array('required' => true))        ->add('owner',              null, array('required' => false))        ->add('leftFrontWheel',     'sonata_type_admin', array('required' => false, 'delete' => false))    ;}


Change your Wheel form field for something like :

$formMapper    // ...    ->add('leftFrontWheel', 'sonata_type_admin', array(        'delete' => false,        'by_reference => true,        'required' => false,    ))    // ...

See by_reference documentation

If it's not sufficient, use a prePersist hook in your parent admin class and manage which field you store. i.e. :

// Fire on submit, before the object persistingpublic function prePersist($object)    if ($wheel = $object->getLeftFrontWheel()) {        if (!$wheel->getYourNonNullableField()) {            $object->setLefTFrontWheel(null);        }    }}