symfony 3多对多的双向超延迟关联

i have two entities Advert 1 City

One Advert belong to Many cities
One city has many Adverts

i need a solution to associate this two entities and my objectif is:

Get $cities from an $advert object
Get $adverts from an $city

$advert->getCities()
$City->getAdverts()

<?php

namespace Ligo\PlatformBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Doctrine\ORM\Mapping\ManyToMany;

/**
 * Advert
 *
 * @ORM\Table(name="advert")
 * @ORM\Entity(repositoryClass="Ligo\PlatformBundle\Repository\AdvertRepository")
 */
class Advert
{
     /**
     * @ORM\ManyToMany(targetEntity="City")
     * @ORM\JoinTable(name="adverts_cities",
     *      joinColumns={@ORM\JoinColumn(name="advert_id", referencedColumnName="id")},
     *      inverseJoinColumns={@ORM\JoinColumn(name="city_id", referencedColumnName="id")}
     *      )
     */
    private $Cities;


<?php

namespace Ligo\PlatformBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * City
 *
 * @ORM\Table(name="city")
 * @ORM\Entity(repositoryClass="Ligo\PlatformBundle\Repository\CityRepository")
 */
class City
{
    /**
    * @ORM\ManyToMany(targetEntity="Advert", mappedBy="Cities")
    **/
    private $Adverts;

</div>