Не удалось определить тип доступа для свойства - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь создать форму с коллекцией сущностей.Вот мой код:

Коллективный объект:

 * @ORM\Table(name="colle")
 * @ORM\InheritanceType("JOINED")
 * @ORM\DiscriminatorColumn(name="discr", type="string")
 * @ORM\DiscriminatorMap({"colle"="Colle","colleQC"="ColleQC", "colleQR"="ColleQR"})
 */
class Colle
{
    /**
     * @var ArrayCollection
     * @ORM\OneToMany(targetEntity="Polycopie", mappedBy="colle", cascade={"persist", "remove"})
     */
     protected $polycopies;

public function __construct()
{
    $this->polycopies = new ArrayCollection();
}

    /**
 * @return ArrayCollection
 */
public function getPolycopies()
{
    return $this->polycopies;
}


/**
 * Add Polycopie
 *
 * @param Polycopie $polycopie
 * @return Colle
 */
public function addPolycopie(Polycopie $polycopie)
{
    $this->polycopies[] = $polycopie;

    return $this;
}

/**
 * Remove Polycopie
 *
 * @param Polycopie $polycopie
 */
public function removePolycopie(Polycopie $polycopie)
{
    $this->polycopies->removeElement($polycopie);
}
}

Поликопия:

class Polycopie
{
    /**
     * @ORM\ManyToOne(targetEntity="Colle", inversedBy="polycopies", cascade={"persist"})
     * @ORM\JoinColumn(name="id_colle", referencedColumnName="id")
     */
     protected $colle;

     public function getColle(): ?Colle
{
    return $this->colle;
}

public function setColle(Colle $colle): self
{
    $this->colle = $colle;

    return $this;
}
}

Форма:

class MiseEnLigneFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{

$builder->add('polycopies', CollectionType::class,
            ['label' => false,
                'label_attr' => ['class' => 'active'],
                'entry_type' => PolycopieFormType::class,
                'entry_options' => [
                    'data_class' => Polycopie::class],
                'allow_add' => true,
                'allow_delete' => true,
                'by_reference' => false
            ]);
}

 public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(['data_class' => Colle::class]);
}
}

PolycopieForm:

class PolycopieFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder->add('nom', TextType::class, ['label' =>'Nom',
                                                 'label_attr' => ['class'=>'active']]);
}

public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(['data_class' => Polycopie::class]);
}
}

Я получаю эту ошибку:

Could not determine access type for property "polycopies" in class "App\Entity\ColleQC"

Я пытался очистить кеш, но он не работает.

Я провел некоторое исследование, и это должно быть потому, что чего-то не хватает, например, геттера или сеттера, но я не могу найти то, чего не хватает в моем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...