下面是我的MySQL数据库的数据库模式:
create table noticia
(
id int,
imagen varchar(255),
fecha datetime,
titulo varchar(255),
url varchar(255),
descripcion varchar(255),
contenido text
) 我使用RedBeanPHP作为ORM,将信息保存到数据库中。这里是我根据DateTime对象对文档对象的日期进行抓取和解析的地方。
foreach ($element->find('span.fechanoticia') as $fecha) {
$tmp = str_replace("/", "-", $fecha->innertext);
print_r($tmp);
$dateFoo = new DateTime($tmp);
echo $dateFoo->format('Y-m-d H:i:s');
$newItem->set_fechanoticia($dateFoo);
}例如,$tmp变量这个值:
05-09-2012格式化的echo调用返回:
2012-09-05 00:00:00每件事都很有趣,而且都在工作。
但是,当我试图使用RedBeanPHP将其保存到数据库时,我会得到以下错误:
致命错误: C:\xampp\htdocs\blog-uvm\rb.php:4880堆栈跟踪:#0 C:\xampp\htdocs\blog-uvm\rb.php(5108):RedBean_OODB->check(对象(RedBean_OODBBean)) #1 C:\xampp\htdocs\blog-uvm rb.php(5082):RedBean_OODB->storeBean(Object(RedBean_OODBBean)) #2 C\rb.php(5082)::\xampp\htdocs\blog-uvm\rb.php(7005):RedBean_OODB->store(RedBean_OODBBean)#3C:\xampp\htdocs\blog-uvm\index.php(60):抛入C:\xampp\htdocs\blog-uvm\rb.php中的RedBean_Facade::store(Object(RedBean_OODBBean)) #4 {main}
RedBeanPHP不能处理日期时间对象吗?
发布于 2012-09-05 13:27:40
根据RedBean的文档 (更多的数据类型),只有当DateTime对象是字符串形式时,才能保存它们。
例如:
// It's a string - not a DateTime.
$photo->created = '1995-12-05 19:00:00';在这种情况下,解决方案应该是保存格式化的字符串,而不是保存DateTime对象本身:
$newItem->set_fechanoticia($dateFoo->format('Y-m-d H:i:s'));发布于 2012-09-05 13:30:21
发现这个:线程/线程/6961ac635e6886f6
The Optimizer will now convert columns with datetime values to datetimefields. If a different value is inserted the column will be reverted by OODB in fluid mode.https://stackoverflow.com/questions/12282445
复制相似问题