Код: Выделить всё
// AppBundle/Entity/Contacts.php
/**
* @var Collection
*
* @ORM\OneToMany(targetEntity="Nominations", mappedBy="contact")
**/
private $nominations;
// AppBundle/Entity/Nominations.php
/**
* @var Contacts
*
* @ORM\ManyToOne(targetEntity="Contacts", inversedBy="nominations")
**/
private $contact;
/**
* @var Votes
*
* @ORM\OneToMany(targetEntity="Votes", mappedBy="nomination")
**/
private $votes;
// AppBundle/Entity/Votes.php
/**
* @var Nominations
*
* @ORM\ManyToOne(targetEntity="Nominations", inversedBy="votes")
**/
private $nomination;
Код: Выделить всё
// AppBundle/Entity/Contacts.php
/**
* Get Votes
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getVotes()
{
$return = array();
foreach ($this->getNominations() as $nom) {
$return = array_merge($return, $nom->getVotes()->toArray());
}
return new ArrayCollection($return);
}
// AppBundle/Admin/ContactsAdmin.php
$formMapper
->add('votes', 'sonata_type_collection', array(
'required' => false,
'by_reference' => false
), array(
'data_class' => 'AppBundle\Entity\Votes',
'admin_code' => 'app.admin.votes', //this is a VotesAdmin service which works fine on its own
'edit' => 'inline',
'inline' => 'table',
));
Текущее поле голосует< /code> не связан с администратором. Создайте его для целевой сущности: ``
Обратите внимание, что имя сущности здесь пустое. Я пробовал всевозможные комбинации вариантов, но все время возвращаюсь к одной и той же проблеме: Sonata не может определить, что такое класс сущности и связанный с ним администратор, хотя я его указываю.
Подробнее здесь: https://stackoverflow.com/questions/331 ... collection