Внутреннее хранилище для сбора связанных сущностей PersistentCollection
в вашем случае.
Итак, свойство productgroup
не является ProductGroup
сущностью. Это коллекция ProductGroup
сущностей . Для простоты вы можете считать это «массивом предметов».
Как сказано выше, ваш getProductgroup
не возвращает экземпляр ProductGroup
, он возвращает коллекцию ProductGroup
s , поэтому этот метод должен быть переписан как:
// no typehint here
// Of course you can use `PersistentCollection` typehint, it is your choice
// main point that returned value is NOT a `ProductGroup` instance
public function getProductgroup()
{
return $this->productgroup;
}
Во-вторых, поскольку свойство productgroup
не является ProductGroup
, ваш метод setProductgroup
также должен быть переписан:
// I omit typehint as you pass not instance of `Productgroup`, but `collection`
public function setProductgroup($productgroup): self
{
$this->productgroup = $productgroup;
return $this;
}
Обычно, чтобы добавить один экземпляр Productgroup
в коллекцию, должен быть метод adder
:
// here, you can typehint argument, because it is useless
// to pass anything else except `Productgroup` instance
public function addProductgroup(Productgroup $productgroup): self
{
$this->productgroup[] = $productgroup;
return $this;
}
Кроме того, неплохо бы инициализировать $this->productgroup
как пустую коллекцию в конструкторе:
public function __construct()
{
$this->productgroup = new ArrayCollection();
}
Некоторые Другие данные о PersistentCollection
и ArrayCollection
.