Was ist der Unterschied zwischen setData()
und addData()
? Besteht eine Verbindung, wenn ich ein Produkt aktualisiere oder ein neues einstelle?
quelle
Was ist der Unterschied zwischen setData()
und addData()
? Besteht eine Verbindung, wenn ich ein Produkt aktualisiere oder ein neues einstelle?
setData
Überschreibt die vorhandenen Daten und kann als Parameter entweder ein Schlüsselpaar-Wert oder ein Array empfangen.
Wenn Sie als Parameter einen Paar-Schlüsselwert festlegen, $_data[key]
wird dieser zu value
. Wenn Sie als Parameter festlegen, wird ein Array $_data
zu dem Array, das überschreibt, was immer es zuvor enthielt.
Beispiel:
$_data = array('k1' => 'v1' , 'k2' => 'v2');
$obj->setData('k3','v3')
Ergebnisse aufrufen in
$_data = array('k1' => 'v1' , 'k2' => 'v2', 'k3'=>'v3');
$obj->setData(array('k3'=>'v3'))
Ergebnisse aufrufen in
$_data = array('k3'=>'v3');
$obj->setData('k2','v2000')
Ergebnisse aufrufen in
$_data = array('k1' => 'v1' , 'k2' => 'v2000')
$obj->setData(array('k2'=>'v2000'))
Ergebnisse aufrufen in
$_data = array('k2'=>'v2000');
addData
empfängt als Parameter nur ein Array und führt dieses Array mit den vorhandenen Daten zusammen.
Beispiel:
$_data = array('k1' => 'v1' , 'k2' => 'v2');
$obj->addData(array('k3'=>'v3'))
Ergebnisse aufrufen in
$_data = array('k1' => 'v1' , 'k2' => 'v2', 'k3'=>'v3');
aber das Aufrufen von $obj->addData(array('k2'=>'v2000'))
Ergebnissen in
$_data = array('k1' => 'v1' , 'k2' => 'v2000');
$obj->setData('k2'=>'v2399393')
dann tun ? :-) (großartig, wenn Sie diesen speziellen Punkt in Ihrer Antwort hinzufügen)$obj->setData('k2'=>'v2399393')
und nicht$obj->setData(array('k2'=>'v2000'))
setData ()
Funktion ist
only set one field value on one call
. es kannset multiple field value using multiple call of setData function
.Die Funktion addData () ist
set multiple field values using array with array key as field index.
Nur ein Beispiel:
Sie möchten zwei Felder für ein Objekt festlegen.
Wenn ich benutze,
setData()
dann müssen Sie diese Art von Arbeiten machen. Für zwei Felder müssen Sie setData-Funktion zwei-fach aufrufen.Aber wenn ich
addData()
dann benutze, kannst du das tunarray key as field name
addData () und setData () sind zwei Bibliotheksklassenfunktionen
Varien_Object
.addData () mit setData () in der lib-Datei zum Festlegen des Feldwerts mit loop.
quelle
setData
mehr als ein Feld mit einem Aufruf festlegen.