Jaka jest różnica między setData()
i addData()
? Czy istnieje połączenie, jeśli zaktualizuję produkt lub ustawię nowy?
źródło
Jaka jest różnica między setData()
i addData()
? Czy istnieje połączenie, jeśli zaktualizuję produkt lub ustawię nowy?
setData
przesłania istniejące dane i może otrzymać jako parametr albo parę klucz-wartość albo tablicę.
jeśli ustawisz jako parametry, wówczas para klucz-wartość stanie $_data[key]
się value
. Jeśli ustawisz jako parametr, tablica $_data
staje się tablicą, która zastępuje to, co poprzednio zawierała.
Przykład:
$_data = array('k1' => 'v1' , 'k2' => 'v2');
wywoływanie $obj->setData('k3','v3')
wyników w
$_data = array('k1' => 'v1' , 'k2' => 'v2', 'k3'=>'v3');
wywoływanie $obj->setData(array('k3'=>'v3'))
wyników w
$_data = array('k3'=>'v3');
wywoływanie $obj->setData('k2','v2000')
wyników w
$_data = array('k1' => 'v1' , 'k2' => 'v2000')
wywoływanie $obj->setData(array('k2'=>'v2000'))
wyników w
$_data = array('k2'=>'v2000');
addData
otrzymuje jako parametr tylko tablicę i łączy tę tablicę z istniejącymi danymi.
Przykład:
$_data = array('k1' => 'v1' , 'k2' => 'v2');
wywoływanie $obj->addData(array('k3'=>'v3'))
wyników w
$_data = array('k1' => 'v1' , 'k2' => 'v2', 'k3'=>'v3');
ale wywoływanie $obj->addData(array('k2'=>'v2000'))
powoduje
$_data = array('k1' => 'v1' , 'k2' => 'v2000');
$obj->setData('k2'=>'v2399393')
? :-) (świetnie, jeśli dodasz ten konkretny punkt w swojej odpowiedzi)$obj->setData('k2'=>'v2399393')
i nie$obj->setData(array('k2'=>'v2000'))
setData ()
funkcja jest
only set one field value on one call
. możeset multiple field value using multiple call of setData function
.Funkcja addData () to
set multiple field values using array with array key as field index.
Przykład:
Chcesz ustawić dwa pola w obiekcie.
Jeśli używam
setData()
, musisz wykonać tego typu prace. Potrzebne Dla dwóch pól musisz wywołać funkcję setData dwa mądre.Ale jeśli używam,
addData()
możesz to zrobićarray key as field name
addData () i setData () to dwie biblioteki
Varien_Object
funkcje klasy .addData () przy użyciu setData () w pliku lib dla ustawienia wartości pola za pomocą pętli.
źródło
setData
aby ustawić więcej niż jedno pole za pomocą jednego połączenia.