Mysql
 sql >> Database >  >> RDS >> Mysql

Hai bisogno di aiuto per creare query sql con join e dove su molti a molti rapporti

La Dottrina IN la funzione prevede un formato di (1, 2, 3, 4, ...) dopo il IN dichiarazione. Sfortunatamente, non è previsto che le condizioni di colonna dimostrino l'appartenenza.

Tuttavia, credo che tu stia cercando il MEMBER OF Funzione dottrina:

public function findAllBySectionAndCategory($section, $category) {
    $query = $this->getEntityManager()
        ->createQuery(
            'SELECT v FROM OSCMySportBundle:Video v WHERE v.section = :section AND :category MEMBER OF v.categories'
        )
        ->setParameter('section', $section)
        ->setParameter('category', $category);
    return $query->getResult();
}

Puoi passare un oggetto Doctrine valido o l'identificatore in $category utilizzando questa funzionalità.

L'esempio è nascosto in profondità nel Documenti sulla dottrina :

$query = $em->createQuery('SELECT u.id FROM CmsUser u WHERE :groupId MEMBER OF u.groups');
$query->setParameter('groupId', $group);
$ids = $query->getResult();