使用insert()方法将DateTime值插入到PHP Doctrine \ DBAL中2
问题描述:
如何通过PHP的DateTime对象作为数据库字段的值使用Doctrine \ DBAL?使用insert()方法将DateTime值插入到PHP Doctrine DBAL中2
$ DB是主义\ DBAL \连接实例。
$DB->insert('table_name', [
'field' => new \DateTime(),
]);
// Catchable fatal error: Object of class DateTime could not be converted to string
上面的代码不工作和文档是稀少。
我肯定知道,你可以提供日期时间对象直接使用另一方法DBAL,是有可能与插入()做到这一点?
答
$DB->insert('table_name', [
'foo' => 'foo',
'bar' => 17,
'field' => new \DateTime(),
], [
PDO::PARAM_STR,
PDO::PARAM_INT,
'datetime',
]);
窍门! ))
+0
第一个数组中元素的顺序如何?我认为,当键 - 值对数组被声明为正确的函数参数时,键的顺序将与它们声明的顺序相匹配,但是如果键值对数组是由其他函数动态创建的呢? – 2016-04-18 18:59:36
找到解决方案。只需将第三个参数数组('datetime')传递给insert()方法即可。对于DateTime使用'datetime',对于字符串使用PDO :: PARAM_STR,对整数使用PDO :: PARAM_INT。 – 2012-04-04 15:12:23