2010-09-05 9 views
8

यहाँ मेरी क्वेरी है, CodeIgniter के सक्रिय रिकॉर्ड में नहीं बढ़ेगी:CodeIgniter/PHP सक्रिय रिकॉर्ड एक पूर्णांक

function calculate_invites($userid) 
{ 
    $this->db->where('id', $userid) 
       ->update('users', array('invites' => 'invites-1', 'sentinvites' => 'sentinvites+1'), FALSE); 
} 

क्षेत्रों invites और sentinvites दोनों पूर्णांक हैं लेकिन उसके बाद समारोह चलाया जाता है 0 पर सेट कर रहे हैं। इससे मुझे लगता है कि कोडइग्निटर invites-1 और sentinvites+1 तारों के रूप में गुज़र रहा है, लेकिन मैंने सोचा कि FALSE को अंत में जोड़ने से इसे रोक दिया गया है?

धन्यवाद!

जैक

+0

के बाद से Ci- सक्रिय रिकॉर्ड is't लगभग रास्ता मैं एक एसी उम्मीद काम कर रहे:

$this->db->where('id', $userid); $this->db->set('invites', 'invites-1', FALSE); $this->db->set('sentinvites', 'sentinvites+1', FALSE); $this->db->update('users'); 

यह भी काम कर सकते हैं (user guide थोड़ा स्पष्ट नहीं है) काम करने के लिए ... यहां सीआई-उपयोगकर्ता-गाइड रेफ़रल [active_record] (http://codeigniter.com/user_guide/database/active_record.html#set) – teemitzitrone

उत्तर

18

यह केवल set साथ update साथ काम नहीं करता,।

यह काम करना चाहिए:

$this->db->where('id', $userid); 
$this->db->set(array('invites' => 'invites-1', 'sentinvites' => 'sentinvites+1'), FALSE); 
$this->db->update('users'); 
संबंधित मुद्दे