Tengo tres entidades, ChannelEntity -> MatchChannelEntity < - MatchEntity, MatchChannelEntity guarda las muchas a muchas relaciones entre las otras dos tablas, quiero un formulario para listar todos los canales usando casillas de verificación, y si una coincidencia tiene uno de los canales, se selecciona la casilla de verificación de ese canal, ¿cómo puedo hacer esto?Cómo configurar una forma de muchos a muchos en Symfony2
Aquí es el código de tipo físico:
class MatchhType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('channels', 'entity', array('label' => 'Channels',
'class' => 'Mikay\MikiBundle\Entity\Channel',
'multiple' => true,
'expanded' => true,
'query_builder' => function ($repository)
{
return $repository->createQueryBuilder('c')->orderBy('c.name', 'ASC');
},))
El tipo MatchChannel:
class MatchChannel
{
/**
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var integer $match_id
* @ORM\ManyToOne(targetEntity="Matchh", inversedBy="channels")
* @ORM\JoinColumn(name="match_id", referencedColumnName="id", nullable="true")
*/
private $match;
/**
* @var integer $channel_id
*
* @ORM\ManyToOne(targetEntity="Channel", inversedBy="mathces")
* @ORM\JoinColumn(name="channel_id", referencedColumnName="id", nullable="true")
*/
private $channel;
voy a utilizar un ejemplo para explicar, por ejemplo, tengo tres canales: el canal A, canal B y canal C, y una coincidencia: partido M, la coincidencia M tiene un canal A, esta relación se guarda en la tabla match_channel, quiero que una forma de coincidencia muestre todos los canales, y el canal A se marca porque es propiedad de la coincidencia M , otros permanecen sin marcar
Necesita el tipo de campo de entidad: http://symfony.com/doc/current/reference/forms/types/entity.html – Nanocom
Estoy usando el tipo de campo de entidad, pero mi situación es mucho más compleja, lo que quiero es enumerar todos los canales de la tabla de canales y verificar los que están guardados en la tabla match_channel. – imikay
Puede recuperar los canales de la tabla de canales dentro de su definición de tipo de campo, verifique mi enlace. De todos modos, definitivamente necesitas mostrar un código y explicar tu problema en detalle si quieres una respuesta detallada. – Nanocom