Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Kueri Sql/Doktrin untuk menemukan data dengan banyak kondisi dengan asosiasi Banyak ke Banyak

Untuk mendapatkan bisnis yang ada di kedua kategori, tulis pembuat kueri Anda sebagai berikut, saya berasumsi entitas Anda dipetakan dengan hubungan banyak ke banyak yang tepat

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

Untuk referensi, lihat jawaban lain disini



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perulangan melalui mysql_fetch_array di PHP

  2. Cara memperbarui kolom dengan nilai nol

  3. Bagaimana cara mendapatkan daftar tanggal antara dua tanggal di kueri pemilihan mysql

  4. MySQL menampilkan info koneksi saat ini

  5. Dapatkan hanya catatan yang dibuat hari ini di laravel