2017-06-01 4 views
1

ich eine mehrreihige mitWie zu verwenden, wo Zustand in Update Charge in Codeigniter

$this->db->update_batch('mytable', $data); 

aktualisieren möchten, aber nicht wissen wie Bedingung in diesem update_batch geben. Kann ich das wo verwenden?

$this->db->where('id', Multiple Ids Here); 
+0

siehe diese Antwort: https://stackoverflow.com/questions/16790749/codeigniter-update-batch-with-included-update-of-the-where-key –

+0

was wird die normale mysql-Abfrage dafür sein ?? ? –

+0

@SwarnaSekharDhar Sie können diese Links für weitere Hilfe mit SQL-Zeilenupdate suchen. https://stackoverflow.com/questions/20255138/sql-update-multiple-records-in-one-query –

Antwort

0

Per CodeIgniter der Dokumentation auf update_batch()

$data = array(
    array(
     'title' => 'My title' , 
     'name' => 'My Name 2' , 
     'date' => 'My date 2' 
    ), 
    array(
     'title' => 'Another title' , 
     'name' => 'Another Name 2' , 
     'date' => 'Another date 2' 
    ) 
); 

$this->db->update_batch('mytable', $data, 'title'); 

Der erste Parameter die Tabellennamen enthalten, die zweiten eine assoziative Array von Werten ist, ist der dritte Parameter der in dem Schlüssel.

Mit anderen Worten, das Array enthält alle Daten für die Felder, die aktualisiert werden sollen, sowie das Element, das zum Definieren der "Where" -Bedingung verwendet wird. In den obigen Arrays wird der Wert verwendet, der dem Schlüssel "title" zugeordnet ist. Daher werden zwei Datensätze aktualisiert: Einer mit title = 'My title' und der zweite mit title = 'Another title'

update_batch() gibt die Anzahl der betroffenen Zeilen zurück.

+0

Ich habe gelesen, dass das erste, aber ich bekomme nicht, wie gebe ich meine IDs in wo Bedingung das was Zeilen, die ich aktualisieren möchte. @Dfriend –

+0

Ich fügte der Antwort einige weitere Details hinzu. Hoffe, es macht deutlich, was passiert. – DFriend

2

Ich habe Code, der anders als bei Ihnen ist, aber es funktioniert und auch ist es einfach, zuerst diese Funktion in Ihrem Modell-Datei setzen, zu verstehen

in Modelldatei

function updatedata($tbname, $data, $parm) 
    { 
     return $this->db->update($tbname, $data, $parm);  
    } 

in Ihrem Controller-Datei verwenden wie diese

$this->load->model("Your_model_name");  
    $this->Your_model_name->updatedata('mytable',$data,$your_condition_in_array); 

ich hoffe, das wird helfen, ich bin sicher, dass dieser Code funktioniert, lassen Sie es mich wissen, dass dieser Code für Sie gearbeitet.

+0

Diese Abfrage im Modell ist nur für eine Zeile zu aktualisieren, aber ich möchte mehrere Zeilen aktualisieren. Ich möchte Schleife nicht für das Aktualisieren der Reihe eins nach dem anderen benutzen. Antworte mir wenn ich es falsch verstanden oder total falsch verstanden habe. @Astound –

+0

Ich habe nicht mit mehreren Updates mit dieser Funktion versucht, aber Sie können einfach versuchen, alle Daten in Array, und setzen Sie alle Array-Daten in einzelne Array und übergeben Sie es an die Funktion '$ main_array = array (array (Ihre Felder mit Wert), Array (Ihre Felder mit Wert)) 'Ich hoffe, es wird funktionieren – Astound

Verwandte Themen