Codeigniter - Batch-Update mit Mehreren Where-Bedingungen

Für Vorspeisen, die Codeigniter Dokumentation auf update_batch nicht vorhanden. kenjis war freundlich genug, um einige Unterlagen und legt Sie dem repository. Hoffentlich ziehen Sie es bald.

Weiß jemand, wie Sie mehrere where-Bedingungen Codeigniters update_batch Befehl?

Meine Gewünschte Verwendung:

$where = array(
    'title',
    'name'
); 

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

Wenn ich habe versucht, diesen code hab ich folgende Fehler:

A Database Error Occurred
One or more rows submitted for batch updating is missing the specified index.

Filename: C:\wamp\www\wheel\system\database\DB_active_rec.php

Line Number: 1451

Update Batch-Dokumentation von kenjis:

$this->db->update_batch();

Erzeugt eine update-string basierend auf den Daten, die Sie liefern, und führt die Abfrage aus. Sie können entweder übergeben Sie ein array oder eine Objekt der Funktion. Hier ist ein Beispiel mit einem array:

$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');
//Produces: 
//UPDATE `mytable` SET `name` = CASE
//WHEN `title` = 'My title' THEN 'My Name 2'
//WHEN `title` = 'Another title' THEN 'Another Name 2'
//ELSE `name` END,
//`date` = CASE 
//WHEN `title` = 'My title' THEN 'My date 2'
//WHEN `title` = 'Another title' THEN 'Another date 2'
//ELSE `date` END
//WHERE `title` IN ('My title','Another title')

Wird der erste parameter enthält den Namen der Tabelle, die zweite ist ein assoziatives array von Werte, der Dritte parameter ist die, wo der Schlüssel ist.

Quellen:

InformationsquelleAutor zechdc | 2011-09-15

Schreibe einen Kommentar