当时间戳早于当前时间的X分钟时,Codeigniter DB将被删除

时间:2013-12-26 17:05:07

标签: mysql codeigniter

我正在尝试重写此查询

DELETE FROM users WHERE confirmed != 0 AND member_since < (NOW() - INTERVAL 1 MINUTE);

进入CodeIgniter Active Record类语法。我现在的代码不会影响任何行。我想是的,因为我在(NOW() - INTERVAL 1 MINUTE)括号内有'' ..但是,当我不使用括号时,我的控制器就会崩溃..请看下面的代码。

$this->db->where('confirmed !=', '0');
$this->db->where('member_since <', '(NOW() - INTERVAL 1 MINUTE)');
$this->db->delete('users');

如果您有任何想法如何重写代码以使其工作,请告诉我。感谢您阅读并希望回复:)

BTW:member_since列的默认值设置为CURRENT_TIMESTAMP

PS:我应该忘记CI的语法并以常规方式编写查询(mySQL语法)吗?

1 个答案:

答案 0 :(得分:3)

您可以将字符串作为条件传递。 所以你只需通过以下条件。

$this->db->where("confirmed != 0 AND member_since < (NOW() - INTERVAL 1 MINUTE)");