2012-05-29 24 views

答えて

36

きれいソリューションは

YourUserModel::model()->deleteAll("day !='" . date('Y-m-d') . "'"); 
+2

を使用することができ、私はいつも、使用DELETEALL削除ベースモデルのアドバイス – Orlymee

+0

感謝をDAOと比較してより遅く動作することを発見しましたYourUserModel :: model() - > deleteAll( "day!=:date"、array( 'date' => date( 'Ym-d')));条件をパラメータ化する方が良い方法です。暗黙的なので、time()も必要ありません。 –

+4

+1ため – Eric

2

優れたユーザーPDOパラメータ

$query = "delete from `user_login_hash` where `day`!='".(date('Y-m-d',time()))."'"; 
         $query->queryAll($query); 
+0

アドバイスありがとう –

+0

うまくいくのでしょうか? '$ query'はオブジェクトではない文字列です! –

10

...これを試してみて、コマンドであなたも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

アドバイスをいただきありがとうございます –

+0

PDOは10倍速いです! – realtebo

+0

@realteboこの質問のすべてのケースはPDOを使用します –

関連する問題