আমার এই পদ্ধতিতে একটি সংগ্রহ আছে যেখানে আমি এই সংগ্রহটিতে দুটি পৃথক ক্রিয়াকলাপ করতে চাই। সুতরাং, আমি একই সংগ্রহের দুটি পৃথক অনুলিপি চাই এবং তারপরে দুটি সংগ্রহের মধ্যে একটিটিকে আবার মূল সংগ্রহকে বরাদ্দ করুন এবং এটি ফিরিয়ে দিন।
এই সহজ করতে, ধরুন আমার কাছে একটি অবজেক্ট কালেকশন বলা হয়েছে $collection
।
এখন, আমি পিএইচপি ক্লোনিং দিয়ে এটি চেষ্টা করছি কারণ জানি না কোনও ইনজিল্ট ক্লোনিংয়ের ম্যাজেন্টো সংগ্রহ আছে কি না।
$coll1 = clone $collection;
$coll2 = clone $collection;
এখন আমি মূল সংগ্রহের এই দুটি পৃথক ক্লোনগুলিতে বিভিন্ন অপারেশন করার চেষ্টা করছি, এরকম কিছু।
$coll1->getSelect()->where('some where condition');
$coll2->getSelect()->where('some different where condition');
if($coll1->count() == 0) {
$collection = $coll2;
} else {
$collection = $coll1;
}
তবে আশ্চর্যের বিষয় হ'ল, এই ক্লোন করা সংগ্রহগুলিতে উভয়ই শর্ত নির্ধারিত হয়েছে! $ coll1 শর্তটি $ coll2 এর শর্তের সাথে $ coll2 এ প্রয়োগ করা হয় এবং এর বিপরীতে।
কেউ কীভাবে এটি অর্জন করতে জানে?
ধন্যবাদ!
$collection->getSelect()
সংগ্রহ করা যায় তা সংরক্ষণের তথ্য ।