Apa perbedaan antara setData()
dan addData()
? Apakah ada koneksi jika saya memperbarui produk atau membuat yang baru?
Apa perbedaan antara setData()
dan addData()
? Apakah ada koneksi jika saya memperbarui produk atau membuat yang baru?
Jawaban:
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')
dan tidak$obj->setData(array('k2'=>'v2000'))
setData ()
fungsi adalah only set one field value on one call
. itu bisa set multiple field value using multiple call of setData function
.
fungsi addData () adalahset 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.
$ObVarien->setData('fieldA',$X);
$ObVarien->setData('fieldB',$Y);
Tetapi jika saya menggunakan addData()
maka Anda bisa melakukan iniarray key as field name
$Data=array('fieldA'=>$X,'fieldb'=>$Y)
$ObVarien->addData($Data)
addData () dan setData () adalah dua Varien_Object
fungsi kelas Library .
addData () menggunakan setData () di file lib untuk menetapkan nilai bidang menggunakan loop.
public function addData(array $arr)
{
foreach($arr as $index=>$value) {
$this->setData($index, $value);
}
return $this;
}
setData
untuk mengatur lebih dari satu bidang dengan satu panggilan.
$obj->setData('k2'=>'v2399393')
? :-) (hebat jika Anda menambahkan poin spesifik ini dalam jawaban Anda)