Используя метод insert() для вставки значения DateTime с помощью PHP Doctrine\DBAL 2

Как передать объект PHP DateTime в качестве значения для поля базы данных с помощью Doctrine\DBAL?

$DB - это Doctrine\DBAL\Connection.

$DB->insert('table_name', [
    'field' => new \DateTime(),
]);

// Catchable fatal error: Object of class DateTime could not be converted to string

Код выше не работает, а документации недостаточно.

Я точно знал, что вы можете предоставить объекты DateTime напрямую, используя другие методы DBAL, возможно ли это сделать с помощью insert()?

Ответы

Ответ 1

$DB->insert('table_name', [
    'foo'   => 'foo',
    'bar'   => 17,
    'field' => new \DateTime(),
], [
    PDO::PARAM_STR,
    PDO::PARAM_INT,
    'datetime',
]);

Сделал трюк! ))