মধ্যে পার্থক্য কি setData()
এবং addData()
? আমি যদি কোনও পণ্য আপডেট করি বা একটি নতুন সেট করি তবে কি সংযোগ আছে?
মধ্যে পার্থক্য কি setData()
এবং addData()
? আমি যদি কোনও পণ্য আপডেট করি বা একটি নতুন সেট করি তবে কি সংযোগ আছে?
উত্তর:
setData
বিদ্যমান ডেটাটিকে ওভাররাইড করে এবং প্যারামিটার হিসাবে কোনও জোড়ের কী-মান হয় অ্যারে হয়।
আপনি যদি প্যারামিটার হিসাবে সেট করেন তবে একটি জোড়া কী-মান $_data[key]
হয় value
। আপনি যদি প্যারামিটার হিসাবে সেট করেন তবে একটি অ্যারে $_data
সেই অ্যারে ওভাররাইট হয়ে যায় যা এর আগে যা ছিল তা।
উদাহরণ:
$_data = array('k1' => 'v1' , 'k2' => 'v2');
কলিং $obj->setData('k3','v3')
ফলাফল
$_data = array('k1' => 'v1' , 'k2' => 'v2', 'k3'=>'v3');
কলিং $obj->setData(array('k3'=>'v3'))
ফলাফল
$_data = array('k3'=>'v3');
কলিং $obj->setData('k2','v2000')
ফলাফল
$_data = array('k1' => 'v1' , 'k2' => 'v2000')
কলিং $obj->setData(array('k2'=>'v2000'))
ফলাফল
$_data = array('k2'=>'v2000');
addData
কেবলমাত্র একটি অ্যারে হিসাবে প্যারামিটার প্রাপ্ত হয় এবং এটি বিদ্যমান ডেটার সাথে সেই অ্যারেটিকে মার্জ করে।
উদাহরণ:
$_data = array('k1' => 'v1' , 'k2' => 'v2');
কলিং $obj->addData(array('k3'=>'v3'))
ফলাফল
$_data = array('k1' => 'v1' , 'k2' => 'v2', 'k3'=>'v3');
কিন্তু $obj->addData(array('k2'=>'v2000'))
ফলাফল কলিং
$_data = array('k1' => 'v1' , 'k2' => 'v2000');
$obj->setData('k2'=>'v2399393')
এবং না$obj->setData(array('k2'=>'v2000'))
setData ()
ফাংশন হয় only set one field value on one call
। এটা পারে set multiple field value using multiple call of setData function
।
addData () ফাংশনটি হলset multiple field values using array with array key as field index.
ঠিক উদাহরণ:
আপনি দুটি ক্ষেত্র অবজেক্টে সেট করতে চান।
যদি আমি ব্যবহার করি setData()
তবে আপনার এই ধরণের ওয়ার্কগুলি করা দরকার two দুটি ক্ষেত্রের জন্য আপনার কল সেটডাটা ফাংশনটি দ্বৈত প্রয়োজন।
$ObVarien->setData('fieldA',$X);
$ObVarien->setData('fieldB',$Y);
তবে যদি আমি ব্যবহার করি addData()
তবে আপনি এটি করতে পারেনarray key as field name
$Data=array('fieldA'=>$X,'fieldb'=>$Y)
$ObVarien->addData($Data)
addData () এবং setData () দুটি লাইব্রেরি Varien_Object
ক্লাস ফাংশন।
লুপ ব্যবহার করে সেট ক্ষেত্রের মান জন্য lib ফাইল এ setData () ব্যবহার করে addData ()।
public function addData(array $arr)
{
foreach($arr as $index=>$value) {
$this->setData($index, $value);
}
return $this;
}
setData
একটি কল দিয়ে একাধিক ক্ষেত্র সেট করতে ব্যবহার করতে পারেন ।
$obj->setData('k2'=>'v2399393')
? :-) (আপনি যদি নিজের উত্তরে এই নির্দিষ্ট পয়েন্টটি যোগ করেন তবে দুর্দান্ত)