2010-09-05 13 views
8

İşte benim sorgu var bir tamsayı, artmaz:CodeIgniter'ın/PHP Active kayıt CodeIgniter'ın Aktif Record içinde

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

alanları invites ve sentinvites iki tamsayılar olduğu ancak işlev çalıştırıldıktan sonra 0'a ayarlanır. Bu, CodeIgniter'ın invites-1 ve sentinvites+1'u dizeler olarak geçtiğini varsayar, ancak sonuna kadar FALSE ekleme işlemi bunu yapmayı durdu sanmıştım?

Teşekkürler!

Jack

+0

JJ.Ci- Active kayıt Is't beri ben bir ac beklediğini neredeyse yol çalışma:

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

Bu da çalışabilir (user guide belirsiz biraz) çalışmak için ... burada ci-kullanıcı kılavuzu başvuru [active_record] (http://codeigniter.com/user_guide/database/active_record.html#set) – teemitzitrone

cevap

18

Bu yalnızca set ile update ile çalışmaz.

Bu çalışması gerekir:

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