2013-02-02 108 views
0

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

问题是有时$ orderDate为空。所以它似乎我必须选择:

  1. 当我做一个选择查询我测试,看看是否有日期之前调用我的设置。当我执行插入查询时,我检查$ orderDate是否为空,然后尝试执行 - >格式(因为这会引发错误)

  2. 我在setter中测试是否在创建新DateTime之前传递了任何东西对象,但我仍然坚持测试,如果它存在之前使用 - >格式。

这不是什么大不了的事,但我处理很多日期字段,并得到相当重复。有没有更好的方法来处理这个问题?在我的理想世界中,如果我在创建实例时没有向DateTime传递任何东西,它将为null,如果我在空的DateTime上调用 - >格式,它将不返回任何内容而不会抛出错误。

回答

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添加到日期的?

+0

我知道该怎么做。事实上,你不需要检查空的$ orderDate? doSomething:别的东西。但是如果你的表格有4个日期字段,并且你有30个表格,更不用说在网页上使用它的所有时间,它就会变得非常重复。 – Casey

+0

那呢?我不知道你知道吗,你不知道什么......但是你可以告诉我们你以前试过什么... @Casey –

+0

我做到了。在两个选项中,我都谈到了测试以确保它不为空。 – Casey