我需要一个后端字段,用户可以在其中输入时间(即"23:13:46",小时、分钟、秒)。但也应该可以完全不输入时间(当然,时间应该与00:00:00不同)。是否可以使字段为null?
到目前为止,我所拥有的是:
$GLOBALS['TCA']['tx_something_domain_model_delivery'] = array(
'columns' => array(
'deadline' => array(
'exclude' => 1,
'label' => 'Deadline',
'config' => array(
'dbType' => 'time',
'type' => 'input',
),
),
...
),
);
但是,如果我在"截止日期"字段中没有输入任何内容,它会将"00:00:00"存储到数据库中。数据库如下所示:
CREATE TABLE IF NOT EXISTS `tx_something_domain_model_delivery` (
`uid` int(11) NOT NULL,
`pid` int(11) NOT NULL DEFAULT '0',
`deadline` time DEFAULT NULL,
...
);
所以截止日期是可以为null的,但我不知道如何实现。
BTW:我是打字3的新手,所以如果你认为我创建这个领域的方式很迟钝,或者有更好的方法,我会感谢你的建议。
首先:您正以预期的方式创建字段:-)
第二:您需要在字段的配置中使用eval
属性。添加设置null
。然后您的配置应该如下所示:
$GLOBALS['TCA']['tx_something_domain_model_delivery'] = array(
'columns' => array(
'deadline' => array(
'exclude' => 1,
'label' => 'Deadline',
'config' => array(
'dbType' => 'time',
'type' => 'input',
'eval' => 'null',
),
),
...
),
);
您可能感兴趣的eval
设置还有更多设置。