Ich habe Spalten, die alle am Ende des Namen , mit verschiedenen Zeichen zu Beginn (verschiedene Jahre): 2014x, 2015x, 2016x usw.
Ich habe also eine $ var < /code> erstellt, die das Jahr identifiziert, dann füge ich die Zeichenfolge 'x' und 'hinzu. y ' über Verkettung. Schließlich ist die Werteinstellung im Array, um 1 zu erhöhen, also füge ich +1 hinzu. Diese Verkettung funktioniert in den Schlüssel einwandfrei - das heißt, ich aktualisiere die richtige Spalte und die richtigen Felder. < /p>
Code: Select all
$data = array(
array('name' => $name1,
$var.'x' => $var.'x+1'),
array('name' => $name2,
$var.'y' => $var.'y+1')
);
$this->db->update_batch('my_table', $data, 'tname');
< /code>
Im obigen Fall werden die Felder mit dem Wert von nur $ var < /code> aktualisiert - das Jahr, das definiert wurde. < /p>
Ich habe auch Folgendes ausprobiert: < /p>
=> '{"$var.x+1"}' // places a '0' value in the field
=> $var.'x' +1 // places the value of $var
=> '$var.x+1' // places a '0' value in the field
< /code>
Wie kann ich update_batch () < /code> verwenden, um mein Feld nach 1 < /code>? < /p>
< P> Beispiel für diesen Code funktioniert erfolgreich: < /p>
$this->db->where('name',$name1);
$this->db->set($var.'x',$var.'x+1',FALSE);
$this->db->update('my_table');