I have three entities, ChannelEntity -> MatchChannelEntity <- MatchEntity, the MatchChannelEntity saves the many to many relations between the other two tables, I want a form to list all the channels using checkboxes, and if a match has one the of channels, the checkbox of that channel is selected, how can I do this ?
Here is the Form type code:
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');
},))
The MatchChannel type:
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;
I will use an example to explain, say, I have three channels: channel A, channel B and channel C, and one match: match M, the match M has one channel A, this relation is saved in the match_channel table, I want a match form to show all the channels, and channel A is checked because it is owned by match M, others stay unchecked