Array [डुप्लिकेट] के साथ कोडिग्निटर में कॉलम तालिका मान अपडेट करें

Aug 16 2020

मैं नीचे की तरह अद्यतन तालिका के लिए कार्य किया है

$update_data = array( 'total_pending'=>$amount,
                    'total_received'=>0,
                    'total_send'=>0,
                    'my_wallet'=>0,
                    'spen_in_app'=>0,
                    'check_in'=>0,
                    'upload_video'=>0,
                    'from_fans'=>0,
                    'purchased'=>0
                );

इसका काम ठीक है लेकिन मैं कुल_पेंडिंग + $ राशि के साथ कुल_पेंडिंग कॉलम को अपडेट करना चाहता हूं लेकिन इसकी त्रुटि दे रहा है जैसे

A non-numeric value encountered

किसी को भी इस मुद्दे को हल करने के लिए मेरी मदद कर सकते हैं? धन्यवाद

जवाब

1 DilipPatel Aug 17 2020 at 05:55

आप इस तरह का उपयोग कर सकते हैं क्योंकि Total_pending स्तंभ नाम है

$update_data = array( 'total_pending'=> `total_pending` + $amount,
                    'total_received'=>0,
                    'total_send'=>0,
                    'my_wallet'=>0,
                    'spen_in_app'=>0,
                    'check_in'=>0,
                    'upload_video'=>0,
                    'from_fans'=>0,
                    'purchased'=>0
                );
Armnature Aug 17 2020 at 07:47

बस BULK अपडेटिंग पद्धति को $ क्वेरी-> सेट के साथ बदलें, और इस कोड को वहां शामिल करें

$this->db->set('total_pending', "total_pending+$amount");
AnkitJindal Aug 17 2020 at 05:08

नीचे दिए गए तरीकों में से एक का उपयोग करने का प्रयास करें:

यदि आप व्यक्तिगत रूप से कॉलम सेट करना चाहते हैं, तो आप कुछ सेट कर सकते हैं यदि इन पर स्थितियाँ:

$this->db->set('total_received', 0); $this->db->set('my_wallet', 0);
$this->db->set('total_send', 0); $this->db->set('from_fans', 0);
$this->db->set('my_wallet', 0); $this->db->set('check_in', 0);
$this->db->set('purchased', 0); $this->db->set('upload_video', 0);
$this->db->set('spen_in_app', 0); $this->db->where(condition); //like ('id', $id) $this->db->set('total_pending', "total_pending+$amount"); $this->db->update('tablename');

या आप नीचे दिए गए तरीके को एक ही सरणी में सभी कॉलम भेजने की कोशिश कर सकते हैं:

$update_data = array( 'total_pending'=> `total_pending` + $amount,
                    'total_received'=>0,
                    'total_send'=>0,
                    'my_wallet'=>0,
                    'spen_in_app'=>0,
                    'check_in'=>0,
                    'upload_video'=>0,
                    'from_fans'=>0,
                    'purchased'=>0
                );