Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Potrzebujesz pomocy w tworzeniu zapytania sql z opcją join i gdzie na relacji wiele do wielu

Doktryna IN funkcja oczekuje formatu (1, 2, 3, 4, ...) po IN oświadczenie. Niestety, nie ma na celu udowodnienia członkostwa w kolumnach warunkowych.

Uważam jednak, że szukasz MEMBER OF Funkcja doktryny:

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

Możesz przekazać poprawny obiekt Doctrine lub identyfikator do $category korzystając z tej funkcji.

Przykład tego jest ukryty głęboko w Dokumenty doktrynalne :

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQLdb Python wstawia %d i %s

  2. Mysql Utwórz tabelę za pomocą wyzwalacza

  3. Czy ktoś zna znaczenie tego komunikatu o błędzie php?

  4. Pomoc dotycząca haszowania PHP i SQL:Co robię źle?

  5. Warunkowe samodołączenie MySQL