我坚持这个问题: 我在fomrs中使用日历表单字段,MySQL数据库字段为此设置为DATE并默认为0000-00-00 xml中的表单字段定义使用
format="%Y-%m-%d"
default="0000-00-00"
在前端始终显示1970-01-01而不是空字段。 我在网上搜索但是如果数据库中存在零,则无法找到如何获得空字段的解决方案。可以帮助我吗?
答案 0 :(得分:0)
用于存储此日期的字段不允许NULL值,因此使用了0000-00-00作为默认值(它是日期字段)。因此,当我更改数据库中的字段以允许NULL值并将特定记录的值设置为NULL时,我决定查看发生了什么。等瞧...问题解决了。没有更多“奇怪的日期”显示。
然而......当保存日期字段时,Joomla决定将它存储为0000-00-00,使显示屏再次伪造。因此,我看了一下模型并添加了一行:
if ($data->birth_date == '0000-00-00') { $data->birth_date = ''; }
在受保护函数loadFormData()中返回$ data之前。
现在完成它,因为上市仍然显示“0000-00-00”我看了一下该模型的列表并添加
$oneItem->birth_date = ($oneItem->birth_date == '0000-00-00') ? "" : $oneItem->birth_date;
在公共函数getItems()返回$ items之前。
答案 1 :(得分:-1)
您已将默认设置为:0000-00-00。
这是计算机发明之前的一段时间,如果日期无效或无效,php默认返回到下面
1970-01-01
因此,它将尽可能地保持原样。
设置实际默认日期或设置为NOW以在当前日期加载。