Ich habe eine Sammlung in einer Methode, in der ich zwei verschiedene Vorgänge für diese Sammlung ausführen möchte. Ich möchte also zwei separate Kopien derselben Sammlung und ordne dann eine der beiden Sammlungen wieder der ursprünglichen Sammlung zu und sende sie zurück.
Nehmen wir zur Vereinfachung an, ich habe eine Objektauflistung mit dem Namen $collection
.
Jetzt versuche ich es mit PHP-Klonen, da ich nicht weiß, ob eine Magento-Sammlung eingebaut ist oder nicht.
$coll1 = clone $collection;
$coll2 = clone $collection;
Jetzt versuche ich, verschiedene Operationen an diesen beiden separaten Klonen der ursprünglichen Sammlung durchzuführen, so etwas wie.
$coll1->getSelect()->where('some where condition');
$coll2->getSelect()->where('some different where condition');
if($coll1->count() == 0) {
$collection = $coll2;
} else {
$collection = $coll1;
}
Aber das Seltsame ist, dass diese beiden geklonten Sammlungen beide Bedingungen haben! Die Bedingung $ coll1 wird zusammen mit der Bedingung $ coll2 auf $ coll2 angewendet und umgekehrt.
Weiß jemand, wie man das erreicht?
Vielen Dank!
$collection->getSelect()
und nicht in der Sammlung selbst gespeichert .