दोनों श्रेणियों में मौजूद व्यवसायों को प्राप्त करने के लिए आप अपना क्वेरी बिल्डर इस प्रकार लिखते हैं, मुझे लगता है कि आपकी संस्थाओं को उचित कई से कई संबंधों के साथ मैप किया गया है
$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();
संदर्भ के लिए एक अन्य उत्तर देखें यहां