sql >> Databáze >  >> RDS >> Mysql

Potřebujete pomoc s vytvořením dotazu SQL s připojením a vztahem mezi mnoha a mnoha

Doktrína IN funkce očekává formát (1, 2, 3, 4, ...) za IN tvrzení. Bohužel to není určeno pro podmíněné sloupce k prokázání členství.

Domnívám se však, že hledáte MEMBER OF Funkce doktríny:

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

Platný objekt Doctrine nebo identifikátor můžete předat do $category pomocí této funkce.

Příklad je skryt hluboko v Doktríny :

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



  1. Dávkový soubor pro mysqldump pro zálohování každé databáze do samostatného souboru

  2. Jak odebrat primární klíč v SQL

  3. Jak porovnat řetězec verze (x.y.z) v MySQL?

  4. Příkaz MySQL Select a IF().