Yiiを使用して、今日からではないすべての行を削除します。Yiiで行を削除するにはどうすればよいですか?
私の解決策はありますか?
$query = "delete from `user_login_hash` where `day`!='".(date('Y-m-d',time()))."'";
Yii::app()->db->createCommand($query);
Yiiを使用して、今日からではないすべての行を削除します。Yiiで行を削除するにはどうすればよいですか?
私の解決策はありますか?
$query = "delete from `user_login_hash` where `day`!='".(date('Y-m-d',time()))."'";
Yii::app()->db->createCommand($query);
きれいソリューションは
YourUserModel::model()->deleteAll("day !='" . date('Y-m-d') . "'");
優れたユーザーPDOパラメータ
$query = "delete from `user_login_hash` where `day`!='".(date('Y-m-d',time()))."'";
$query->queryAll($query);
アドバイスありがとう –
うまくいくのでしょうか? '$ query'はオブジェクトではない文字列です! –
...これを試してみて、コマンドであなたも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'))
);
あなたは、クエリビルダ
$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
を使用することができ、私はいつも、使用DELETEALL削除ベースモデルのアドバイス – Orlymee
感謝をDAOと比較してより遅く動作することを発見しましたYourUserModel :: model() - > deleteAll( "day!=:date"、array( 'date' => date( 'Ym-d')));条件をパラメータ化する方が良い方法です。暗黙的なので、time()も必要ありません。 –
+1ため – Eric