Mysql
 sql >> база данни >  >> RDS >> Mysql

Нуждаете се от помощ при изграждането на sql заявка с връзка и къде на много към много

Доктрината IN функцията очаква формат (1, 2, 3, 4, ...) след IN изявление. За съжаление, това не е предназначено за условни колони, за да докажат членство.

Въпреки това вярвам, че търсите MEMBER OF Функция на доктрината:

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

Можете да подадете валиден обект на Doctrine или идентификатора в $category използвайки тази функционалност.

Примерът за това е скрит дълбоко в 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rails създава schema_migrations - Mysql2::Грешка:Посоченият ключ беше твърде дълъг

  2. PHP MySQL INSERT се проваля поради уникално ограничение

  3. Как мога да задам двигателя за съхранение по подразбиране, използван от MySQL?

  4. MySQL стандарти/конвенции за имена на колони

  5. Грешка в MySQL #1071 - Посоченият ключ беше твърде дълъг; максималната дължина на ключа е 767 байта