【问题标题】:Calculate End time from Start time field in codeigniter from database从数据库的codeigniter中的开始时间字段计算结束时间
【发布时间】:2020-07-01 12:29:20
【问题描述】:
我有一个类似的表结构:
id | name | start_time | duration
1 xyz 05:00 PM 4
代码
$from_time=9:30 AM;
$sessionData=$this->db->where('start_time>=',$from_time)->get('user_session')->result();
在上面的代码中,我希望计算结束时间,但我希望根据持续时间计算结束时间,例如在我的情况下,下午 5:00 结束时间应该是晚上 9:00。我只想选择那些行。
【问题讨论】:
标签:
php
codeigniter
codeigniter-3
codeigniter-2
【解决方案1】:
你可以通过使用 Mysql 函数 Date_add 来做到这一点。它看起来像这样:
SELECT * from `Hours` where DATE_ADD(start_time, INTERVAL duration HOUR) >= '07:00'
我制作了一张如下所示的表格:
id 名称 start_time 持续时间
1 test 05:00:00 6
2 early test 05:00:00 1
3 late test 05:00:00 11
当我执行查询时,我确实得到了以下结果:
id name start_time duration
1 test 05:00:00 6
3 late test 05:00:00 11
我不认为您可以为此使用 codeigniter 查询生成器。我建议通过 $result = $this->db->query($your_query); 直接查询数据库;
但是,如果有用户输入,您需要转义您的数据。