Unikátní where pro každý průchod cyklem
- wujido
- Člen | 8
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 :)
- wujido
- Člen | 8
Martk napsal(a):
Použij klonování objektu, jiné lepší řešení jsem nenašel.
(clone $selection)->...
Funguje :) Děkuji.