у записей с определенными id.
$this->getEntityManager()->getConnection()->createQueryBuilder()
->update(self::TABLE_NAME, 'u')
->set('u.isValid', false)
->where('u.id IN (:payments)')
->setParameter('payments', $payments, Connection::PARAM_INT_ARRAY)
->executeQuery();
Доктрина походу ругается:
An exception occurred while executing a query: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE u.id IN (648833, 571391, 596084, 613316, 571393, 599055, 571399, 571392)' at line 1
В чём может быть проблема?
Можливо в назві таблиці використовується зарезервоване слово.
Не, имя точно не зерезервировано. Пробовал так, тоже ошибка. ->setParameter('payments', implode(',', $payments))
Весь sql треба дивитись
в мускуле по моему в одинарные ковычки нужно брать перечисления
>> ->set('u.isValid', false) ->where(‘u.isValid’, ‘:is_valid’) ->set(‘is_valid’, false)
Обсуждают сегодня