मुझे एक ही फ़ील्ड को विभिन्न मानकों के साथ जोड़ना होगा।समान इकाई पर सिद्धांत कईToMany डुप्लिकेट प्रविष्टि त्रुटि
ManyToMany:
/**
* @ORM\ManyToMany(targetEntity="BRCN\TaxonomyBundle\Entity\Taxonomy", mappedBy="genderCategories")
*/
private $genders;
/**
* @ORM\ManyToMany(targetEntity="BRCN\TaxonomyBundle\Entity\Taxonomy", inversedBy="genders")
* @ORM\JoinTable(name="menu_relations",
* joinColumns={@ORM\JoinColumn(name="gender_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="category_id", referencedColumnName="id")}
* )
*/
private $genderCategories;
ये चर एक ही मेज "आईडी" में एक ही स्तंभ नाम का उपयोग कर रहे हैं।
जब मैं "menu_relations" तालिका को देखता हूं, तो मुझे अपने पैरामीटर से जुड़े दो प्राथमिक कुंजी दिखाई देती हैं।
जब मैं नए रिकॉर्ड डालने के लिए प्रयास करते हैं, मैं इस त्रुटि हो रही है:
An exception occurred while executing 'INSERT INTO menu_relations (gender_id, category_id) VALUES (?, ?)' with params [94, 1]:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '94-1' for key 'PRIMARY'
सम्मिलित करना मान:
if($request->isXmlHttpRequest()) {
$categories = $request->request->get('category');
foreach($categories as $key => $value) {
/** @var $gender \BRCN\TaxonomyBundle\Entity\Taxonomy */
$gender = $em->find('BRCNTaxonomyBundle:Taxonomy', $key);
if($gender) {
foreach($value as $category) {
$category = $em->find('BRCNTaxonomyBundle:Taxonomy', $category);
$gender->addGenderCategory($category);
$em->persist($gender);
}
$em->flush();
}
}
return JsonResponse::create([
'status' => true,
'message' => 'İlişkilendirme Başarılı'
]);
}
क्या त्रुटि उन विशिष्ट लिंग_आईडी = 9 4 और श्रेणी_आईडी = 1, या किसी भी सम्मिलन के लिए आती है? आप एक सम्मिलित क्वेरी कैसे करते हैं? क्या आपके पास उनके लिए उचित सेटटर है? – Javad
नहीं, यह एक सम्मिलन के बाद से आ रहा है, दूसरे डालने में मेरा मतलब है। इससे कोई फर्क नहीं पड़ता है। –
क्या आप अपने कंट्रोलर में कोड प्रदान कर सकते हैं कि आप सम्मिलन क्वेरी कैसे करते हैं? – Javad