]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commit
fix: BatchSyncService PDO binding — $N плейсхолдеры → :pN origin/fix_filippov_batch_sync_pdo_binding
authorAleksey Filippov <Aleksey.Filippov@erp-flowers.ru>
Tue, 24 Mar 2026 16:46:06 +0000 (19:46 +0300)
committerAleksey Filippov <Aleksey.Filippov@erp-flowers.ru>
Tue, 24 Mar 2026 16:46:06 +0000 (19:46 +0300)
commit52a8d0cfc440f276c6ff4241a20fb7b9a63911e4
tree354571a066933bf57b984188cb875d28aa7660b8
parent0871a895d8c143c0e81ec89be48e16939c92cf5c
fix: BatchSyncService PDO binding — $N плейсхолдеры → :pN

PDO::bindValue() требует индекс ≥ 1, а $params был 0-индексированным
массивом с PostgreSQL-нативными $1,$2,$3 плейсхолдерами. Это вызывало:

  PDOStatement::bindValue(): Argument #1 ($param) must be >= 1

Результат на проде: Balances::deleteAll() удалял данные магазина,
BatchSyncService->upsertBalances() падал → магазин терял ВСЕ строки.

Fix: именованные :p1,:p2,:p3 плейсхолдеры вместо $1,$2,$3.
Проверено на реальной БД: 5 магазинов (419-499 товаров) + characteristics.
erp24/services/BatchSyncService.php