sql >> Databasteknik >  >> RDS >> Mysql

Behöver hjälp med att bygga SQL-fråga med join and where on many to many relation

Läran IN funktionen förväntar sig formatet (1, 2, 3, 4, ...) efter IN påstående. Tyvärr är det inte meningen att kolumnvillkor ska bevisa medlemskap.

Jag tror dock att du letar efter MEMBER OF Lärofunktion:

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

Du kan skicka ett giltigt Doctrine-objekt eller identifieraren till $category använder den här funktionen.

Exemplet för detta är dolt djupt i Doktrindokument :

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



  1. Hur POSITION()-funktionen fungerar i MySQL

  2. Hur får man tid för att skapa databas i PostgreSQL 9.0?

  3. AWS Aurora MySQL serverlös:hur man ansluter från MySQL Workbench

  4. Hur man castar DateTime till Time