|
PHP PHP aplikacije, Smarty, PEAR |
|
Alati teme | Način prikaza |
08. 05. 2012. | #1 |
član
Certified
Datum učlanjenja: 21.05.2010
Lokacija: Nis
Poruke: 54
Hvala: 24
450 "Hvala" u 10 poruka
|
CodeIgniter increment value and update_batch
Imam sledeci problem. Treba da izvrsim update na vise destina redova, pa rekoh da koristim update_batch().
Problem je sto treba da pravim total u jednom polju, tako da update ide kao "total + $total", znaci da uvecam vrednost a ne da upisem samo novu, jer mi je potrebna na kraju suma. Npr, u bazi za total stoji 10. Ako sada treba da updejtujem sa 20, treba da da rezultat 30 a ne 20. Znam preko SQL ovo da resim, ali da li postoji nacin za Active Record u CI ? |
08. 05. 2012. | #2 |
expert
Grand Master
Datum učlanjenja: 11.04.2010
Poruke: 998
Hvala: 141
959 "Hvala" u 153 poruka
|
Je li na ovo misliš?
PHP kôd:
|
08. 05. 2012. | #3 |
Wait, What?
Qualified
Datum učlanjenja: 21.03.2010
Poruke: 148
Hvala: 8
188 "Hvala" u 14 poruka
|
Kôd:
$this->db->where('id', $post['identifier']); $this->db->set('votes', 'votes+1', FALSE); $this->db->update('users');
__________________
Svakog dana uvlacim linije pa misle da se drogiram. |
08. 05. 2012. | #4 |
član
Certified
Datum učlanjenja: 21.05.2010
Lokacija: Nis
Poruke: 54
Hvala: 24
450 "Hvala" u 10 poruka
|
To su resenja za jedan update nad jednim redom u tabeli.
Meni treba za vise stotina od jednom, tako da princip nije isti. http://codeigniter.com/user_guide/da...rd.html#update, pa ispod pogledajte za $this->db->update_batch(); Znaci ja pravim niz i niz prosledjujem metodi $data = array( array( 'title' => 'My title' , 'name' => 'My Name 2' , 'total' => '$total' ), array( 'title' => 'Another title' , 'name' => 'Another Name 2' , 'total' => '$total' ) ); $this->db->update_batch('mytable', $data, 'title'); Kako sad da inkrementujem total... Postoji sansa da prvo pokupim vrednosti iz niza pa da napisem 'total' => '"$total_ex + $total" Ali to je jos jedan upit ka bazi a mislio sam da postoji neki kraci put |
|
|