У мене є одна колекція методом, де я хочу виконати дві різні операції над цією колекцією. Отже, я хочу дві окремі копії однієї колекції, а потім призначити одну з двох колекцій знову оригінальній колекції та повернути її.
Щоб зробити це просто, припустимо, у мене є колекція об'єктів під назвою $collection
.
Зараз я пробую це з клонуванням PHP, оскільки я не знаю, чи є вбудована клонінг колекції Magento чи ні.
$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()
а не в самій колекції.