Ho una raccolta in un metodo in cui voglio eseguire due diverse operazioni su questa raccolta. Quindi, voglio due copie separate della stessa raccolta, quindi assegnare nuovamente una delle due raccolte alla raccolta originale e restituirla.
Per semplificare questo, supponiamo di avere una raccolta di oggetti chiamata $collection
.
Ora, lo sto provando con la clonazione di PHP in quanto non so se esiste una clonazione di raccolte Magento incorporata o meno.
$coll1 = clone $collection;
$coll2 = clone $collection;
Ora sto cercando di eseguire diverse operazioni su questi due cloni separati della collezione originale, qualcosa del genere.
$coll1->getSelect()->where('some where condition');
$coll2->getSelect()->where('some different where condition');
if($coll1->count() == 0) {
$collection = $coll2;
} else {
$collection = $coll1;
}
Ma la cosa strana è che entrambe queste raccolte clonate hanno entrambe le condizioni assegnate dove! La condizione $ coll1 viene applicata a $ coll2 insieme alla condizione di $ coll2 e viceversa.
Qualcuno sa come raggiungere questo obiettivo?
Grazie!
$collection->getSelect()
e non nella raccolta stessa.