我有一个类似于的表结构
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。我只想选择那些行。
您可以通过使用Mysql函数Date_add来实现这一点。看起来是这样的:
SELECT * from `Hours` where DATE_ADD(start_time, INTERVAL duration HOUR) >= '07:00'
我做了一张桌子,看起来像:id name start_time duration
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(直接查询数据库;
但是,如果这个数据中有用户输入,则需要转义数据。