Paquete de administración de Sonata, manipular objetos

Tengo 2 entidades con uno a muchos proyecto de relación y prototipo. Y he estado buscando una manera de enumerar los prototipos que pertenecen a un proyecto en la acción de mostrar. Aquí está mi entidad de proyecto:

<?php

namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Projet
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="AppBundle\Entity\ProjetRepository")
 */

class Projet
{
/**
 * @var integer
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

/**
 * @var string
 *
 * @ORM\Column(name="nom", type="string", length=255)
 */
private $nom;

/**
 * @var string
 *
 * @ORM\Column(name="description", type="string", length=255)
 */
private $description;

/**
 * @var \DateTime
 *
 * @ORM\Column(name="dateCreation", type="date")
 */
private $dateCreation;

/**
 * @ORM\OneToMany(targetEntity="AppBundle\Entity\Prototype", mappedBy="projet",cascade={"persist"} , orphanRemoval=true)
 * @ORM\OrderBy({"id"="ASC"})
 */
protected $prototypes;


public function __construct()
{   
    $this->prototypes = new \Doctrine\Common\Collections\ArrayCollection();
    $this->dateCreation =  new \DateTime("now");
}

/**
 * Get id
 *
 * @return integer 
 */
public function getId()
{
    return $this->id;
}

/**
 * Set nom
 *
 * @param string $nom
 * @return Projet
 */
public function setNom($nom)
{
    $this->nom = $nom;

    return $this;
}

/**
 * Get nom
 *
 * @return string 
 */
public function getNom()
{
    return $this->nom;
}

public function __toString()
{
return $this->getNom();
}

/**
 * Set description
 *
 * @param string $description
 * @return Projet
 */
public function setDescription($description)
{
    $this->description = $description;

    return $this;
}

/**
 * Get description
 *
 * @return string 
 */
public function getDescription()
{
    return $this->description;
}

/**
 * Set dateCreation
 *
 * @param \DateTime $dateCreation
 * @return Projet
 */
public function setDateCreation($dateCreation)
{
    $this->dateCreation = $dateCreation;

    return $this;
}

/**
 * Get dateCreation
 *
 * @return \DateTime 
 */
public function getDateCreation()
{
    return $this->dateCreation;
}


public function setPrototypes($prototypes)
{
if (count($prototypes) > 0) {
    foreach ($prototypes as $i) {
        $this->addPrototypes($i);
    }
}

return $this;
}

/**
 * Add prototypes
 *
 * @param \AppBundle\Entity\Prototype $prototypes
 * @return Projet
 */
public function addPrototypes(\AppBundle\Entity\Prototype $prototypes)
{
$this->prototypes[]= $prototypes;
return $this;
}

public function addPro,totype(\AppBundle\Entity\Prototype $prototype)
{
$prototype->setProjet($this);
$this->prototypes->add($prototype);
}


/**
 * Remove prototypes
 *
 * @param \AppBunble\Entity\Prototype $prototypes
 */
public function removePrototypes(\AppBundle\Entity\Prototype $prototypes)
{
$this->prototypes->removeElement($prototypes);
}



/**
 * Get prototypes
 *
 * @return \Doctrine\Common\Collections\Collection 
 */

public function getPrototypes()
{
return $this->prototypes;
}



}

y aquí está mi entidad prototipo

<?php

namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Prototype
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="AppBundle\Entity\PrototypeRepository")
 */
class Prototype
{
/**
 * @var integer
 *
 * @ORM\Column(name="id", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="AUTO")
 */
private $id;

/**
 * @var string
 *
 * @ORM\Column(name="nom", type="string", length=255)
 */
private $nom;


/**
 * @var string
 *
 * @ORM\Column(name="description", type="string", length=255)
 */
private $description;

/**
 * @var \DateTime
 *
 * @ORM\Column(name="dateCreation", type="date")
 */
private $dateCreation;


/**
 * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Projet", inversedBy="prototypes")
 * @ORM\joinColumn(name="projet_id", referencedColumnName="id")
 */
private $projet;

/**
 * Get id
 *
 * @return integer 
 */
public function getId()
{
    return $this->id;
}


/**
 * Get nom
 *
 * @return string 
 */
public function getNom()
{
    return $this->nom;
}

public function __toString()
{
return $this->getNom();
}

/**
 * Set nom
 *
 * @param string $nom
 * @return Prototype
 */
public function setNom($nom)
{
    $this->nom = $nom;

    return $this;
}


/**
 * Set description
 *
 * @param string $description
 * @return Prototype
 */
public function setDescription($description)
{
    $this->description = $description;

    return $this;
}

/**
 * Get description
 *
 * @return string 
 */
public function getDescription()
{
    return $this->description;
}

/**
 * Set dateCreation
 *
 * @param \DateTime $dateCreation
 * @return Prototype
 */
public function setDateCreation($dateCreation)
{
    $this->dateCreation = $dateCreation;

    return $this;
}

/**
 * Get dateCreation
 *
 * @return \DateTime 
 */
public function getDateCreation()
{
    return $this->dateCreation;
}




/**
 * Set projet
 *
 * @param \AppBundle\Entity\Projet $projet
 * @return Prototype
 */
public function setProjet(\AppBundle\Entity\Projet $projet = null)
{
    $this->projet = $projet;

    return $this;
}

/**
 * Get projet
 *
 * @return \AppBundle\Entity\Projet 
 */
public function getProjet()
{
    return $this->projet;
}
}

En mi projetAdmin puedo mostrar en el ShowAction los prototipos: aquí está projetAdmin:

<?php


namespace AppBundle\Admin;

use Sonata\AdminBundle\Admin\Admin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Show\ShowMapper;
use Sonata\AdminBundle\Route\RouteCollection;


class ProjetAdmin extends Admin
{   

protected function configureFormFields(FormMapper $formMapper)
{
    $formMapper
        ->add('nom', 'text', array('label' => 'Nom'))
        ->add('description','text',array('label'=>'Description'))
        ->add('dateCreation', 'date', array('label' => 'Date de création'))


        ;
}

protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
    $datagridMapper
        ->add('nom')
        ->add('dateCreation')

    ;
}


protected function configureListFields(ListMapper $listMapper)
{
    $listMapper

        ->add('nom')
        ->add('description')
        ->add('dateCreation')
        ->add('_action', 'actions', array(
                'actions' => array(
                'show' => array(),
                'edit' => array(),
                'delete' => array(),
            )
        )
        )

    ;
}



protected function configureShowFields(ShowMapper $showMapper)
{
    $showMapper

    ->add('prototypes')


;

}



}

Obtengo los prototipos (nombres)

Pero me gustaría "enumerar" los prototipos que pertenecen al proyecto, como la vista de lista (nombre, descripción del prototipo ...)

Cómo puedo hacer eso ?

Respuestas a la pregunta(2)

Su respuesta a la pregunta