作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为 ChatSessions 的表,我在其中跟踪聊天室中的活跃用户。我需要每 10 分钟从表中删除过期的用户 session 。使用纯 php-mysql 非常简单,但我完全不知道如何在 CodeIgniter 中将其转换为 ActiveRecord。普通 SQL 查询如下:
SELECT *
FROM `ChatSessions`
WHERE `SessionExpires` < DATE_SUB( NOW( ) , INTERVAL 10 MINUTE )
谁能告诉我在 CodeIgniter 中使用 ActiveRecord 的等效代码是什么?
最佳答案
下面的代码应该可以做到:
// You can use custom strings in the where() function
$where = "SessionExpires < DATE_SUB( NOW( ) , INTERVAL 10 MINUTE )";
// although you may need to set the third parameter to FALSE in order to stop CI from protecting your fields.
$this->db->where($where, null, false);
$this->db->delete('ChatSessions');
您也可以尝试以下方法(但我不知道这是否有效):
$where_condition = "DATE_SUB( NOW( ) , INTERVAL 10 MINUTE )";
$this->db->where("SessionExpires <", $where_condition, false);
$this->db->delete('ChatSessions');
关于codeigniter - 如何使用 ActiveRecord 和 mySQL 函数作为 WHERE 条件删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2992127/
我是一名优秀的程序员,十分优秀!