¿Cuál es la diferencia entre setData()
y addData()
? ¿Hay alguna conexión si actualizo un producto o configuro uno nuevo?
fuente
¿Cuál es la diferencia entre setData()
y addData()
? ¿Hay alguna conexión si actualizo un producto o configuro uno nuevo?
setData
anula los datos existentes y puede recibir como parámetro un par clave-valor o una matriz.
si establece como parámetros, se $_data[key]
convierte un par clave-valor value
. Si establece como parámetro, una matriz se $_data
convierte en esa matriz que sobrescribe lo que contenía anteriormente.
Ejemplo:
$_data = array('k1' => 'v1' , 'k2' => 'v2');
llamando a $obj->setData('k3','v3')
resultados en
$_data = array('k1' => 'v1' , 'k2' => 'v2', 'k3'=>'v3');
llamando a $obj->setData(array('k3'=>'v3'))
resultados en
$_data = array('k3'=>'v3');
llamando a $obj->setData('k2','v2000')
resultados en
$_data = array('k1' => 'v1' , 'k2' => 'v2000')
llamando a $obj->setData(array('k2'=>'v2000'))
resultados en
$_data = array('k2'=>'v2000');
addData
recibe como parámetro solo una matriz y fusiona esa matriz con los datos existentes.
Ejemplo:
$_data = array('k1' => 'v1' , 'k2' => 'v2');
llamando a $obj->addData(array('k3'=>'v3'))
resultados en
$_data = array('k1' => 'v1' , 'k2' => 'v2', 'k3'=>'v3');
pero llamando $obj->addData(array('k2'=>'v2000'))
resultados en
$_data = array('k1' => 'v1' , 'k2' => 'v2000');
$obj->setData('k2'=>'v2399393')
entonces? :-) (excelente si agrega este punto específico en su respuesta)$obj->setData('k2'=>'v2399393')
y no$obj->setData(array('k2'=>'v2000'))
setData ()
es la función
only set one field value on one call
. puedeset multiple field value using multiple call of setData function
.La función addData () es
set multiple field values using array with array key as field index.
Solo ejemplo:
Desea dos campos para establecer en el objeto.
Si
setData()
estoy usando, entonces necesita hacer este tipo de trabajos.necesidad Para dos campos necesita llamar a la función setData de dos maneras.Pero si estoy usando,
addData()
entonces puedes hacer estoarray key as field name
addData () y setData () son dos
Varien_Object
funciones de clase Library .addData () usando setData () en el archivo lib para establecer el valor del campo usando loop.
fuente
setData
para configurar más de un campo con una llamada.