Falta el método insert () en Doctrine DBAL Query Builder

Siento que estoy teniendo un momento en el que me estoy perdiendo algo pequeño aquí; He estado teniendo problemas con el método insert() en el componente QueryBuilder en Dotrine DBAL 2.2.x / 2.3.x.

Hice una investigación y aquí está el fragmento de la página QueryBuilder de la documantación DBAL

\ Doctrine \ DBAL \ Query \ QueryBuilder admite la creación de consultas SELECT, INSERT, UPDATE y DELETE. El tipo de consulta que está creando depende de los métodos que esté utilizando.

Continúa explicando ejemplos de código, de manera que simplemente puedo hacer:

 $builder = $connection->createQueryBuilder(); $result = $builder ->insert('table_name') // ... 

Para utilizar el generador de consultas en el modo Insertar . Excepto cuando hago una queja aquí desde PHP:

Error grave: Llamada a un método no definido Doctrine \ DBAL \ Query \ QueryBuilder :: insert ()

En una inspección adicional del código fuente de QueryBuilder.php

No veo ninguna referencia a ningún método insert(...) , ninguna clase para heredarlo, ningún QueryBuilder agregado al QueryBuilder que pueda exponer el mecanismo de inserción. Además veo esto justo en la parte superior:

 /* The query types. */ const SELECT = 0; const DELETE = 1; const UPDATE = 2; 

No hay ningún tipo de consulta de inserción; Sin embargo, hay un interesante comentario de método para execute() :

 /** * Execute this query using the bound parameters and their types. * * Uses {@see Connection::executeQuery} for select statements and {@see Connection::executeUpdate} * for insert, update and delete statements. * * @return mixed */ 

Línea de fondo:

Este es un proyecto masivo con cientos de mantenedores, es más probable que encuentre mi interpretación sospechosa aquí que un error en algo tan fundamental en numerosas versiones, pero no puedo, por mi vida, descubrir lo que me estoy perdiendo. Por favor ayúdame a ver lo obvio.

Depende de tu versión. Insertar se ha añadido desde v2.5.0-BETA3.

Viz https://github.com/doctrine/dbal/blob/master/lib/Doctrine/DBAL/Query/QueryBuilder.php#L563 y confirme

Puede decidir actualizar la versión del paquete o consultar esta solución alternativa