के साथ सिद्धांत 2 हटाएं मेरे पास वनटॉनी, Project
और Services
संबंध के साथ दो इकाइयां हैं। अब मैं project_id द्वारा सभी सेवाओं को हटाना चाहता हूं।क्वेरी बिल्डर
प्रथम प्रयास:
$qb = $em->createQueryBuilder();
$qb->delete('Services','s');
$qb->andWhere($qb->expr()->eq('s.project_id', ':id'));
$qb->setParameter(':id',$project->getId());
यह प्रयास अपवाद Entity Service does not have property project_id
साथ विफल रहता है। और यह सच है, कि संपत्ति मौजूद नहीं है, यह केवल डेटाबेस तालिका में विदेशी कुंजी के रूप में है।
दूसरा प्रयास:
$qb = $em->createQueryBuilder();
$qb->delete('Services','s')->innerJoin('s.project','p');
$qb->andWhere($qb->expr()->eq('p.id', ':id'));
$qb->setParameter(':id',$project->getId());
यह एक generetate एक गैर मान्य DQL क्वेरी बहुत।
किसी भी विचार और उदाहरण का स्वागत किया जाएगा।
तीसरी पंक्ति को निम्नानुसार लिखा जा सकता है: $ qb-> जहां ('s.project =: project'); – Oli