Как предотвратить использование класса Sonata Admin Bundle, который создает новый экземпляр одного объекта вместо редактирования существующего? - PullRequest
0 голосов
/ 18 октября 2019

Я работаю над проектом Symfony 4 с Sonata Admin Bundle.

У меня есть две сущности с именами Brand и Store. Я соединил эти два с помощью отношения ManyToOne.

Когда я пытаюсь отредактировать сущность Store с помощью формы, предоставленной функцией configureFormFields(), doctrine создает новый экземпляр Store вместо редактированияэтот.

Я уже пытался редактировать, чтобы изменить тип отношения на ModelAutocompleteType или ModelListType, но это, похоже, не работает.

App \ Admin \ StoreAdmin. php:

protected function configureFormFields(FormMapper $formMapper) {
        $user = $this->getUser();
        $formMapper
            ->add('name')
            ->add('address')
            ->add('zipCode')
            ->add('city')
            ->add('phoneNumber');
             if($user->isSuperAdmin()) {
                 $formMapper
                     ->add('acquisitionEnabled')
                     ->add('
                     ->add('hearingBrand', ModelListType::class, [])
                 ;
             }
}

App \ Entity \ Store.php:

   /**
     * @ORM\ManyToOne(targetEntity="App\Entity\Brand", inversedBy="stores")
     * @ORM\JoinColumn(nullable=true)
     */
    private $brand;

App \ Entity \ Brand.php:

   /**
     * @ORM\OneToMany(targetEntity="App\Entity\Store", mappedBy="brand")
     */
    private $stores;

Я просто хочу отредактировать сущность, не создавая новую.

Есть идеи? Спасибо за вашу помощь.

...