使用Yii,我想删除今天不是的所有行。
我的解决方案可以吗?
$query = "delete from `user_login_hash` where `day`!='".(date('Y-m-d',time()))."'";
Yii::app()->db->createCommand($query);
答案 0 :(得分:38)
更漂亮的解决方案
YourUserModel::model()->deleteAll("day !='" . date('Y-m-d') . "'");
答案 1 :(得分:11)
更好的用户PDO参数和命令,您还必须调用execute
$query = "delete from `user_login_hash` where `day`<> :date";
$command = Yii::app()->db->createCommand($query);
$command->execute(array('date' => date('Y-m-d')));
或
UserLoginHash::model()->deleteAll(
'day <> :date',
array('date' => date('Y-m-d'))
);
答案 2 :(得分:2)
试试这个......
$query = "delete from `user_login_hash` where `day`!='".(date('Y-m-d',time()))."'";
$query->queryAll($query);
答案 3 :(得分:2)
您可以使用查询构建器
$command = Yii::app()->db->createCommand()
->delete('user_login_hash', 'day !=' . date('Y-m-d'));
http://www.yiiframework.com/doc/guide/1.1/en/database.query-builder#sec-15