Doctrine ManyToMany всегда возвращает пустую коллекцию - PullRequest
0 голосов
/ 26 апреля 2018

У меня есть два класса с ассоциацией ManyToMany:

Один класс:

/**
 * @ORM\ManyToMany(targetEntity="Application\Sonata\UserBundle\Entity\User", inversedBy="tripEvents")
 * @ORM\JoinTable(name="event_trip_registrators")
 */
private $tripRegistrators;

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

public function getTripRegistrators()
{
    return $this->tripRegistrators;
}

public function setTripRegistrators($tripRegistrators)
{
    $this->tripRegistrators = $tripRegistrators;
}

public function addTripRegistrator(User $tripRegistrator)
{
    $this->tripRegistrators->add($tripRegistrator);
}

public function removeTripRegistrator($tripRegistrator)
{
    $this->tripRegistrators->removeElement($tripRegistrator);
}

Второй класс:

/**
 * @ORM\ManyToMany(targetEntity="Bundle\Entity\Event", mappedBy="tripRegistrators")
 */
protected $tripEvents;

public function __construct()
{
    parent::__construct();
    $this->tripEvents = new ArrayCollection();
}

public function getTripEvents()
{
    return $this->tripEvents;
}

public function setTripEvents($tripEvents)
{
    $this->tripEvents = $tripEvents;
}

Если я позвоню $event->getTripRegistrators() (первый класс), я получу только пустую постоянную коллекцию. Есть ли у вас подсказка, почему это происходит? Если я сохраняю элементы через SonataAdmin, все работает нормально, таблица базы данных содержит правильные данные.

...