J'ai une collection dans une méthode où je veux effectuer deux opérations différentes sur cette collection. Donc, je veux deux copies distinctes de la même collection, puis attribuer à nouveau l'une des deux collections à la collection d'origine et la renvoyer.
Pour simplifier, supposons que j'ai une collection d'objets appelée $collection
.
Maintenant, je l'essaie avec le clonage PHP car je ne sais pas s'il existe un clonage de collection Magento intégré ou non.
$coll1 = clone $collection;
$coll2 = clone $collection;
Maintenant, j'essaie d'effectuer différentes opérations sur ces deux clones distincts de la collection d'origine, quelque chose comme.
$coll1->getSelect()->where('some where condition');
$coll2->getSelect()->where('some different where condition');
if($coll1->count() == 0) {
$collection = $coll2;
} else {
$collection = $coll1;
}
Mais le plus étrange est que ces deux collections clonées ont toutes les deux les conditions assignées! La condition $ coll1 est appliquée à $ coll2 avec la condition de $ coll2, et vice versa.
Personne ne saurais comment achever cela?
Merci!
$collection->getSelect()
et non dans la collection elle-même.