使用TCA文件在数据库中创建日期时间列

时间:2013-02-27 10:58:36

标签: php mysql typo3

在我的Typo3扩展程序中,我希望我的一个表格列为“ datetime ”,类型为'timestamp'默认为'CURRENT_TIMESTAMP'。  如何在TCA文件中创建它。

我在下面给出了我的代码。但这不是创建类型为timespamp且默认值为CURRENT_TIMESTAMP的列。

     'datetime' => array(       
        'exclude' => 0,     
        'label' => 'LLL:EXT:besi_jobs/locallang_db.xml:tx_jobs_messages.datetime',      
        'config' => array(
            'type'     => 'timestamp',
            'size'     => '12',
            'max'      => '20',
            'eval'     => 'datetime',
            'checkbox' => '0',
            'default'  => 'CURRENT_TIMESTAMP'

        )
    ),

1 个答案:

答案 0 :(得分:2)

必须将类型设置为'input'

'datetime' => array(        
    'exclude' => 0,     
    'label' => 'LLL:EXT:besi_jobs/locallang_db.xml:tx_jobs_messages.datetime',      
    'config' => array(
        'type'     => 'input',
        'size'     => '12',
        'max'      => '20',
        'eval'     => 'datetime',
        'checkbox' => '0',
        'default'  => time(),
    )
),

注意

  • TCA reference
  • 中描述了所有可能的类型
  • 您的扩展程序的.sql文件中的字段应为int(11) unsigned NOT NULL DEFAULT '0'。 TCA定义既不创建也不改变数据库。它仅定义字段在表单中的显示方式。