開発メモ,主に補足by子連れ親父プログラマー

2011-11-06

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

以上で今回作ったシステムのまとめは終わりです。

[おわり]

このブログを検索

Powered by Blogger.

ラベル

php (17) jQuery (13) OSX (10) MySQL (8) Javascript (7) Postgres (7) port (7) apache (6) Java (3) Smarty (2) html (2) pear (2) FCKEditor (1) XAMPP (1) css (1) git (1) perl (1) ruby (1)

Facebookバナー