0

PHP-ActiverecordがインストールされたCodeIgniterアプリケーションを実行していて、大規模な削除を行う必要があります。PHP-ARライブラリは大規模な更新と削除をサポートしていますが、この関数は削除/更新するIDのみを取得します。IDがリストにない場所で大規模な削除を行おうとしています。

idが(1,2,3 ...、500)にないテーブルから削除する

残念ながら、PHP-ActiverecordのWebサイトは役に立ちません。また、フォーラムはひどく構築されているため(検索なし...真剣に?)、私は本当に行き詰まっています。

編集:CodeIgniterの組み込みORMはPHP-Activerecordと同じではないことに注意してください。 はっきりさせたいと思っただけです。

4

2 に答える 2

4

少し遅れますが、これは他の誰かを助けるかもしれません。PHPActiveRecordでは、次のようにします。

$ids_to_delete = array(1,2,3);
YourModel::delete_all(array('conditions' => array('id NOT IN (?)', $ids_to_delete)));

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

于 2014-01-06T16:57:47.137 に答える
2

アクティブレコードは実際には関数を使用して文字列クエリを作成するため、次のメソッドを使用できます。-リストを文字列として作成します-このクエリを作成します:$ this-> db-> where('id not in'、$ string)-> delete( 'テーブル')

于 2012-09-14T03:02:26.753 に答える