Unikátní where pro každý průchod cyklem

wujido
Člen | 8
+
0
-

Zdravím,

mám následující cyklus:

foreach ($array as $id => $item) {
			$selection->where('id', $id)
				->update(['item' => $item]);
		}

jenomže při každém průchodu cyklu se k $selection přidá ->where. To způsobuje že dotazy vypadají následovně:

UPDATE `table` SET `item`='a' WHERE (`container_id` IN (1)) AND (`id` = 1)
UPDATE `table` SET `item`='b' WHERE (`container_id` IN (1)) AND (`id` = 1) AND (`id` = 2)
...

a tak dále při každém průchodu nové AND. Já potřebuji toto:

UPDATE `table` SET `item`='a' WHERE (`container_id` IN (1)) AND (`id` = 1)
UPDATE `table` SET `item`='b' WHERE (`container_id` IN (1)) AND (`id` = 2)

snad je jasné o co mi jde. Budu vděčný za radu :)

Martk
Člen | 661
+
0
-

Použij klonování objektu, jiné lepší řešení jsem nenašel.

(clone $selection)->...
wujido
Člen | 8
+
0
-

Martk napsal(a):

Použij klonování objektu, jiné lepší řešení jsem nenašel.

(clone $selection)->...

Funguje :) Děkuji.