First, I would recommend using annotations , your code will be more readable .
The problem is that you forgot the properties inversedByand mappedBy.
- .
Involvement:
/**
* @ORM\ManyToMany(targetEntity="CountriesInvolved", inversedBy="involvement")
* @ORM\JoinTable(name="countries_involvement",
* joinColumns={@ORM\JoinColumn(name="case_country_involved_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="involvement_id", referencedColumnName="id")}
* )
*/
private $countries;
CountriesInvolved $involvement:
private $involvement;
, :
$em = $this->getEntityManager();
$query = $em->createQuery('
SELECT c
FROM ACMESouthBundle:CountriesInvolved c
JOIN c.involvement i
WHERE i.id = :id
');
$query->setParameter('id', '1');
return $query->getResult();
YAML:
CountriesInvolved:
manyToMany:
involvement:
targetEntity: Involvement
mappedBy: countries
CountriesInvolved:
manyToMany:
countries:
targetEntity: CountriesInvolved
inversedBy: involvement
joinTable:
name: countries_involvement
joinColumns:
case_country_involved_id:
referencedColumnName: id
inverseJoinColumns:
involvement_id:
referencedColumnName: id
user2359967