0

我经常遇到这个问题,必须有更好的方法来做到这一点。所以我有一个 Order 类和一个 Order_db 类。在订单类中有一个属性 $orderDate 是一个 DateTime 对象。

问题是有时 $orderDate 为空。所以看来我必须选择:

  1. 当我进行选择查询时,我会在调用我的设置器之前测试是否有日期。当我执行插入查询时,我会在尝试执行 ->format 之前检查 $orderDate 是否不为空(因为这会引发错误)

  2. 在创建新的 DateTime 对象之前,我在 setter 中测试是否通过了任何内容,但是在将它与 ->format 一起使用之前,我仍然坚持测试它是否存在。

这没什么大不了的,但我处理了很多日期字段,而且它变得非常重复。有没有更好的方法来处理这个?在我的理想世界中,如果我在创建实例时没有向 DateTime 传递任何内容,它将为 null,如果我在 null DateTime 上调用 ->format,它将不返回任何内容,而不是引发错误。

4

1 回答 1

1

尝试这个:

CREATE TABLE IF NOT EXISTS `DB`.`Exampletable` (
 `field_1` VARCHAR(255) NOT NULL DEFAULT '',
 `field_2` CHAR(20) NOT NULL default 'default_text',
 `field_3` INT(10) DEFAULT NULL,
 `field_4` BIGINT(20),
 `field_5` DATETIME DEFAULT NULL
);

您是否尝试将默认 NULL 添加到日期?

于 2013-02-02T02:55:17.850 回答