Je voudrais obtenir la requête SQL INSERT exacte que Doctrine génère lorsque la méthode save() d'un objet est appelée. De préférence, je voudrais l'obtenir dans l'événement postSave() du modèle et l'enregistrer dans un fichier txt.Doctrine - comment obtenir la requête SQL INSERT, dans l'événement postSave()?
Par exemple:
<?php
$user = new User(); // A Doctrine Model with timestampable behavior enabled
$user->first_name = 'Manny';
$user->last_name = 'Calavera';
$user->save();
?>
Je veux obtenir/enregistrer la requête SQL suivante:
INSERT INTO user (first_name, last_name, created_at, updated_at) VALUES ('Manny', 'Calavera', '2010-08-03 12:00:00', '2010-08-03 12:00:00');
L'arrière-plan pour avoir besoin ce, est que je souhaite à l'importation de masse plus tard, les données par analyser le fichier txt.
N'oubliez pas d'ajouter une condition avant $ event-> getQuery(), vous pouvez utiliser "if (! (Stripos ($ event-> getQuery, 'INTO log')) && (strtoupper (sub ($ event -> getQuery(), 0, 6))! = 'SELECT') && strtoupper (substr ($ event-> getQuery(), 0, 3))! = 'SET') " – HQM