1

このリンク http://www.phpactiverecord.org/projects/main/wiki/Basic_CRUD から、次の結果が得られました。

6 # MASSIVE DELETE
7 # Model::table()->delete(WhereToDelete);
8 Post::table()->delete(array('id' => array(5, 9, 26, 30));
9 # DELETE FROM `posts` WHERE id IN (5, 9, 26, 30)

ただし、テーブルから削除する必要があります WHERE DATE は 2012-01-01 00:00:00 未満であり、CATEGORY は JOURNAL に等しい

次のコードは機能しません。

Model::table()->delete(array('date'=>'<2012-01-01 00:00:00','category'=>'journal'));

私が去る場合:

Model::table()->delete(array('category'=>'journal'));

ジャーナルに等しい WHERE カテゴリのみが削除されます。だから私の質問は、日付を使用してそのクエリに COMPARISON 演算子を実装するにはどうすればよいですか?

オンラインであらゆる場所を検索しましたが、どこにも答えが見つかりません。ご意見をお待ちしております。前もって感謝します!!!

4

2 に答える 2

2

これを試して:

http://www.phpactiverecord.org/docs/ActiveRecord/Model#methoddelete_all

YourModel::delete_all(array('conditions' => array('date >= ? AND category <= ?', $thedate,$cateogry)));
于 2013-05-12T04:46:13.870 に答える
0

私の場合、 delete_all は機能しませんでした。ここで別の方法を見つけることができます

# MASSIVE DELETE
# Model::table()->delete(WhereToDelete);
Post::table()->delete(array('id' => array(5, 9, 26, 30));
于 2021-09-24T06:52:34.587 に答える