जैसा कि यह सभी उत्तर अच्छे हैं क्योंकि मैंने उन सभी को आज़माया था, एक बात अभी भी पूरी नहीं है या ध्यान नहीं दिया गया है: पहले से चेक किए गए मान को अपडेट करने की समस्या (चेक बॉक्स को अनचेक किया गया] [es]। मेरे पास उपरोक्त प्रश्न के समान कुछ है जो मैं अपने उत्पाद-फीचर तालिका (धुरी तालिका) में उत्पादों की सुविधाओं की जांच और अनचेक करना चाहता हूं। मैं एक नौसिखिया हूँ और मैंने महसूस किया है कि उपरोक्त किसी ने भी ऐसा नहीं किया। नई सुविधाएँ जोड़ते समय दोनों अच्छे हैं लेकिन तब नहीं जब मैं मौजूदा सुविधाओं को हटाना चाहता हूँ (अर्थात इसे अनचेक करें)
मैं इसमें किसी भी ज्ञान की सराहना करूंगा।
$features = $request->get('features');
if (isset($features) && Count($features)>0){
foreach ($features as $feature_id){
$feature = Feature::whereId($feature_id)->first();
$product->updateFeatures($feature);
}
}
//product.php (extract)
public function updateFeatures($feature) {
return $this->features()->sync($feature, false);
}
या
public function updateFeatures($feature) {
if (! $this->features->contains($features))
return $this->features()->attach($feature);
}
//where my attach() is:
public function addFeatures($feature) {
return $this->features()->attach($feature);
}
क्षमा करें, लोगों को यकीन नहीं है कि मुझे प्रश्न को हटा देना चाहिए क्योंकि स्वयं उत्तर का पता लगाने में, यह थोड़ा बेवकूफ लगता है, साथ ही ऊपर दिए गए उत्तर के रूप में काम करना उतना ही सरल है जितना @Barryvdh सिंक () निम्नानुसार है; अधिक से अधिक पढ़ने के बारे में:
$features = $request->get('features');
if (isset($features) && Count($features)>0){
$product->features()->sync($features);
}
attach()
मिलाया जाता है, यह एक इंट या मॉडल का उदाहरण हो सकता है;) - देखें github.com/laravel/framework/blob/master/src/Illuminate/…