ฉันมีหนึ่งคอลเล็กชันในวิธีที่ฉันต้องการดำเนินการสองอย่างที่แตกต่างกันในคอลเลกชันนี้ ดังนั้นฉันต้องการสำเนาสองชุดที่มีชุดสะสมเดียวกันจากนั้นมอบหมายหนึ่งในสองชุดให้กับชุดรวมต้นฉบับอีกครั้งแล้วส่งคืน
$collection
เพื่อให้ง่ายนี้สมมติว่าผมมีคอลเลกชันวัตถุที่เรียกว่า
ตอนนี้ฉันกำลังลองด้วยการโคลนนิ่ง PHP เพราะฉันไม่รู้ว่ามีการเก็บรวบรวมวีโอไอพีที่มีการโคลน inbuilt หรือไม่
$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()
และไม่ได้อยู่ในการรวบรวม