के साथ सिद्धांत 2 में काम नहीं करता है, मैं सिद्धांत 2 के साथ कुछ सरल सीआरयूडी प्राप्त करने की कोशिश कर रहा हूं, लेकिन जब एक सरणी संग्रह के रूप में एक प्रॉपर्टी सेट के साथ रिकॉर्ड अपडेट करने का समय हो मुझे लगता है कि इसे हटाने के लिए हटाने() को काम नहीं करना प्रतीत होता है। मैं भी इस हास्यास्पद बदसूरत तरह से यह कर की कोशिश की:removeElement() और clear() सरणी संग्रह संपत्ति
foreach($entity->getCountries() as $c) {
$entity->getCountries()->removeElement($c);
$this->em->persist($entity);
$this->em->flush();
}
और यह काम नहीं किया ... किसी को भी जानता है कि यह कैसे संभाल करने के लिए? मैंने कई अलग-अलग रूपों में इसका समाधान करने के लिए कहा है और अब तक कोई अच्छी प्रतिक्रिया नहीं मिली है ... ऐसा लगता है कि सिद्धांत 2 सीआरयूडी हैंडलिंग के अच्छे उदाहरणों की कमी है। मैं अनुरोध पर अधिक कोड पोस्ट करूंगा।
संपादित
//in user entity
/**
*
* @param \Doctring\Common\Collections\Collection $property
* @OneToMany(targetEntity="Countries",mappedBy="user", cascade={"persist", "remove"})
*/
private $countries;
//in countries entity
/**
*
* @var User
* @ManyToOne(targetEntity="User", inversedBy="id")
* @JoinColumns({
* @JoinColumn(name="user_id", referencedColumnName="id")
* })
*/
private $user;
वास्तव में क्या तुम हो आप हासिल करने की कोशिश कर रहे हैं? क्या आप सभी देशों को हटाने की कोशिश कर रहे हैं? या आप एक देश को हटाने की कोशिश कर रहे हैं? क्या आपने डॉक्स में एसोसिएशन के साथ वर्किंग पर अनुभाग पढ़ा है: http://www.doctrine-project.org/docs/orm/2.0/en/reference/working-with-associations.html#removing-associations – rojoca
yes @rojoca मैंने इसे सब पढ़ लिया है। और मैं एक उपयोगकर्ता इकाई से जुड़े सभी देशों को हटाने की कोशिश कर रहा हूं, ताकि मैं उन्हें और अधिक अलग-अलग देशों के लिए बदल सकूं। –