Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Truy vấn Sql / Doctrine để tìm dữ liệu có nhiều điều kiện với kết hợp Nhiều đến Nhiều

Để có được các doanh nghiệp tồn tại trong cả hai danh mục, bạn hãy viết trình tạo truy vấn của mình như sau, tôi giả sử các thực thể của bạn được ánh xạ với mối quan hệ từ nhiều đến nhiều thích hợp

$repo = $this->getDoctrine()->getRepository('YourBundle:Business');

$repo = $this->createQueryBuilder('b')
    ->addSelect('COUNT(DISTINCT  c.id) AS total_categories')
    ->innerJoin('b.categories', 'c');

$categoryIds = array(1,2);

$repo->add('where', $qb->expr()->in('c', $categoryIds))
    ->groupBy('b.id')
    ->having('total_categories = '.count($categoryIds))
    ->getQuery()
    ->getResult();

Để tham khảo, hãy xem câu trả lời khác tại đây



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tạo mảng từ php truy vấn mysql

  2. Truy vấn MySQL với nhiều bảng

  3. Thoát tên cột trong câu lệnh PDO

  4. Sử dụng Cơ sở dữ liệu quan hệ MySQL trên Fedora 13

  5. Cách sử dụng điều kiện GIỮA bằng cách sử dụng truy vấn chính và truy vấn phụ