У меня есть одна коллекция в методе, где я хочу выполнить две разные операции над этой коллекцией. Итак, я хочу получить две отдельные копии одной коллекции, а затем снова назначить одну из двух коллекций исходной коллекции и вернуть ее.
Для простоты предположим, что у меня есть коллекция объектов с именем $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()
а не в самой коллекции.