CakePHP1.3で作る会員管理システム(26) バッチ処理
バッチ処理
では最後、バッチを使ってデータを更新したり、削除したりします。 バッチの処理は /app/venders/shells/ の中にファイルを作ります。今回はmembersテーブルのデータを処理するので、 /app/venders/shells/member.php とします。 で、中に以下のように書きます。
<?php class MemberShell extends Shell { var $uses = array('Member'); function main() { //メールアドレスにgを含むデータを削除、関連テーブルからも $this->Member->deleteAll( array('Member.email LIKE' => "%g%"), true, false ); } } ?>
$uses で使うモデルを指定しています。 削除ではなく、更新をする場合は、
$this->Member->updateAll( array('Member.birthday' => "'1970-03-15'"), array('Member.created <=' => "$this_day") );
こんな感じになります。 このファイルを用意しておいて、コンソールから、
cd /Users/myname/Sites/cake/app cake member
と実行します。app に入っていることが大事です。 crontab から実行する時はフルパスで書けばよいでしょう。
/Users/myname/Sites/cake/cake/console/cake member -app /Users/myname/Sites/cake/app
以上で今回作ったシステムのまとめは終わりです。
[おわり]