Drupal 7 架构中的日期时间类型

2021-12-29 00:00:00 php drupal drupal-7

我正在编写一个新的 Drupal 7 模块(Drupal 7.10,已安装日期 7.x-2.0-rc1,已安装架构 7.x-1.0-beta3)我在 mymodule.install 中定义了一个表:

I'm writing a new Drupal 7 module (Drupal 7.10, Date 7.x-2.0-rc1 installed, Schema 7.x-1.0-beta3 installed) i defined a table in mymodule.install:

$schema['museums_tickets']= array(
    'fields' => array(
        'nid' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
    ),
    'day' => array(
        'type' => 'datetime', 
        'mysql_type' => 'DATETIME',
        'not null' => TRUE,
    ),
    'tickets' => array(
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        ),
    'ticket_code' => array(
            'type' => 'varchar',
            'length' => 32,
            'not null' => TRUE, 
            'default' => '',
        ),
    ),
    'primary key' => array('nid', 'day','ticket_code'),
);

但我收到以下错误:

Field museums_tickets.day: no Schema type for mysql type datetime.
museums_tickets.day: no type for Schema type datetime.
Field museums_tickets.day: no Schema type for type datetime. 

如果我使用同样适用

'type' => 'datetime:normal',

我想知道如何解决这个问题.我不想将日期存储为时间戳,因为另一个人写了很多代码,显然我不想重写所有代码.我已经看过 drupal 7 custom schema error datetime 但答案没有工作.也许我做错了什么,但我没有找到.

I would like to know how to solve this problem. I don't want to store dates as timestamp, since another person wrote a lot of code and obviously i don't want to rewrite all. I already looked at drupal 7 custom schema error datetime but the answer doesn't work. Maybe i'm doing something wrong, but i don't find what.

提前致谢.

推荐答案

如果您查看 Date 模块的架构,您会发现类似

If you look in the schema of the Date module you will find something like

'day' => array(
    'type' => 'datetime',
    'mysql_type' => 'datetime',
)

实际上,Clive 的答案是我第一个选择的,但后来给我的 Views 模块带来了问题.

Actually the answer of Clive was the one i picked first but later gave me problems with the Views module.

Date 模块的这个实现拯救了我的一天

This implementation of the Date module save my day

相关文章