I have three entities, ChannelEntity -> MatchChannelEntity <- MatchEntity, the MatchChannelEntity saves the many to many relations between the other two tables, I want a form
I have finally found a workaround for this. You may look into the source code http://www.prowebdev.us/2012/07/symfnoy2-many-to-many-relation-with.html
Ok, I will close this question. That's because I set up the many to many relation between the two tables wrong, and the correct way is as following(I trimed the code a bit):
Many to many: One match has many channels and one channel has many matches.
Match:
class Match
{
/**
* @ORM\ManyToMany(targetEntity="Channel", inversedBy="matches")
* @ORM\JoinTable(name="match_channels")
*/
private $channels;
Channel:
class Channel
{
/**
* @ORM\ManyToMany(targetEntity="Match", mappedBy="channels")
*/
private $matches;
Doctrine will automatically create the cross reference table for you, named MatchChannels. Note the JoinTable annonation, it is very important.
And when you done, you can create a many to many form easily, just like you create other type of forms/fields.