Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Benötigen Sie Hilfe beim Erstellen einer SQL-Abfrage mit Verknüpfung und einer Beziehung zwischen vielen und vielen

Die Lehre IN Die Funktion erwartet ein Format von (1, 2, 3, 4, ...) nach dem IN Aussage. Leider ist es nicht für Spaltenbedingungen gedacht, um die Mitgliedschaft zu beweisen.

Ich glaube jedoch, dass Sie nach dem MEMBER OF suchen Lehrfunktion:

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();
}

Sie können ein gültiges Doctrine-Objekt oder den Bezeichner an $category übergeben diese Funktion verwenden.

Das Beispiel dafür ist tief in der versteckt Lehrdokumente :

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