sql >> Database >  >> RDS >> Mysql

Hulp nodig bij het bouwen van sql-query met join en waar op veel-op-veel-relatie

De leer IN functie verwacht een formaat van (1, 2, 3, 4, ...) na de IN uitspraak. Helaas is het niet bedoeld voor kolomvoorwaarden om lidmaatschap te bewijzen.

Ik geloof echter dat u op zoek bent naar de MEMBER OF Leerfunctie:

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

U kunt een geldig Doctrine-object of de identifier doorgeven aan $category met behulp van deze functionaliteit.

Het voorbeeld hiervoor is diep verborgen in de Doctrine docs :

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



  1. CSV-bestanden opslaan in mysql-database

  2. SQL:Haal records op die voldoen aan voorwaarden die afkomstig zijn uit meerdere records

  3. Dubbele rijen uit een tabel verwijderen

  4. Hoe wijzig ik het datatype van een geïmporteerde spreadsheet in mysql?