У меня настроен прослушиватель доктрины, который запускается в разных действиях базы данных и создает объект журнала и вставляет его в базу данных.Вставка элемента в приемник доктрины
class FOO {
// [...]
public function onFlush(OnFlushEventArgs $args)
{
foreach ($args->getEntityManager()->getUnitOfWork()->getScheduledEntityUpdates() as $entity) {
$this->createLog('edit', $entity);
}
}
private function createLog($action, $entity)
{
if ($entity instanceof Log) {
return;
}
$log = new Log;
$log->setAction($action);
$log->setTime(new \DateTime);
$log->setForeignId($entity->getId());
$log->setUser($this->getUser());
$t = explode('\\', get_class($entity));
$entity_class = strtolower(end($t));
$log->setEntity($entity_class);
$this->getEntityManager()->persist($log);
}
// [...]
}
Когда я обновить объект, я получаю следующее сообщение об ошибке:
SQLSTATE[HY093]: Invalid parameter number: no parameters were bound
В профилировщике я вижу этот вопрос:
INSERT INTO vvg_logs (action, entity, foreign_id, user_id, time) VALUES (?, ?, ?, ?, ?)
Parameters: { }
Как я могу решить эту проблему?
UPDATE Вот моя новая тема подключения к этому вопросу: LINK
Кажется, вопрос, который вы ссылаетесь были удалены. Не могли бы вы предоставить дополнительную информацию о том, как вы это решили? – cellulosa