Apa perbedaan antara setData()
dan addData()
? Apakah ada koneksi jika saya memperbarui produk atau membuat yang baru?
sumber
Apa perbedaan antara setData()
dan addData()
? Apakah ada koneksi jika saya memperbarui produk atau membuat yang baru?
setData
mengganti data yang ada dan dapat menerima sebagai parameter baik nilai kunci pasangan maupun array.
jika Anda menetapkan sebagai parameter nilai kunci pasangan kemudian $_data[key]
menjadi value
. Jika Anda menetapkan sebagai parameter, array $_data
menjadi array yang menimpa apa yang pernah ada sebelumnya.
Contoh:
$_data = array('k1' => 'v1' , 'k2' => 'v2');
$obj->setData('k3','v3')
hasil panggilan dalam
$_data = array('k1' => 'v1' , 'k2' => 'v2', 'k3'=>'v3');
$obj->setData(array('k3'=>'v3'))
hasil panggilan dalam
$_data = array('k3'=>'v3');
$obj->setData('k2','v2000')
hasil panggilan dalam
$_data = array('k1' => 'v1' , 'k2' => 'v2000')
$obj->setData(array('k2'=>'v2000'))
hasil panggilan dalam
$_data = array('k2'=>'v2000');
addData
menerima sebagai parameter hanya array dan menggabungkan array itu dengan data yang ada.
Contoh:
$_data = array('k1' => 'v1' , 'k2' => 'v2');
$obj->addData(array('k3'=>'v3'))
hasil panggilan dalam
$_data = array('k1' => 'v1' , 'k2' => 'v2', 'k3'=>'v3');
tetapi menelepon $obj->addData(array('k2'=>'v2000'))
hasilnya
$_data = array('k1' => 'v1' , 'k2' => 'v2000');
$obj->setData('k2'=>'v2399393')
? :-) (hebat jika Anda menambahkan poin spesifik ini dalam jawaban Anda)$obj->setData('k2'=>'v2399393')
dan tidak$obj->setData(array('k2'=>'v2000'))
setData ()
fungsi adalah
only set one field value on one call
. itu bisaset multiple field value using multiple call of setData function
.fungsi addData () adalah
set multiple field values using array with array key as field index.
Contoh Saja:
Anda ingin dua bidang disetel pada objek.
Jika saya menggunakan
setData()
maka Anda perlu melakukan ini jenis works.need Untuk dua bidang Anda perlu memanggil fungsi setData dua bijaksana.Tetapi jika saya menggunakan
addData()
maka Anda bisa melakukan iniarray key as field name
addData () dan setData () adalah dua
Varien_Object
fungsi kelas Library .addData () menggunakan setData () di file lib untuk menetapkan nilai bidang menggunakan loop.
sumber
setData
untuk mengatur lebih dari satu bidang dengan satu panggilan.