我有一个表,如果该行位于特定时间之间,我需要从中提取记录。但有些时间是 UFN(直至另行通知)。如果结束时间是字符串而不是时间,如何让 cakephp 忽略“结束”时间?如果我强制用户在想要显示 UFN 时将“结束时间”保留为空,会不会更容易?
提前致谢
编辑: 我正在从事的项目很敏感,因此我无法发布任何实际代码,但这里有一个示例。
$this->Event->find('all', array(
'conditions' => array(
'Event.active_start <' => date('Y-m-d H:i:s', strtotime($date . " +31 minutes")),
'Event.active_stop >' => $date,
'Event.id >' => $id,
),
'order' => 'Event.active_start',
'group' => 'Event.id'
)
);
Event.active_start 始终是日期时间,但 Event.active_stop 可以是日期时间或字符串,通常为“UFN”。
此查询不会提取任何字符串行。
最佳答案
- 将
'Event.active_stop'
设置为DATETIME字段,允许为空。 - 保存前检查是否为日期时间格式,如果没有则取消设置($string)
- 查找(回调)后,如果
active_stop
为空字段,则返回字符串“UFN”
关于mysql - Cakephp 时间之间的条件或者时间列不是时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28349687/