创建了一个entity:student
其中,$student1为实体编号为1的实体。拥有一个datetime类型的字段:field_my_date
当给个字段修改值的时候,不能成功,代码如下:
$date = date('Y-m-d H:i:s',time());
$node_wrapper = entity_metadata_wrapper('student', $student1);
$node_wrapper->field_my_date->set($date);
$node_wrapper->save();
报错信息如下:
EntityMetadataWrapperException: Invalid data value given. Be sure it matches the required data type and format. 在 EntityMetadataWrapper->set() (行 122 在 /sites/all/modules/entity/includes/entity.wrapper.inc).
另外,还有其它的字段,比如用户名什么的都是text类型的,都可以保存,就这个datetime的不能保存。。。求教。。。
entity_metadata_wrapper
entity_metadata_wrapper,这个是Entity模块提供的用法,你可以使用更原始的用法来解决这样的问题,这样更简单一些。
如果使用entity_metadata_wrapper,需要记住,字段类型不同,用法也不同,text,和date是不同的字段类型,你需要查看一下日期字段类型在这种情况下的具体用法。