Cakephpで1つのフィールドだけバリデーションをかける

Cakephpでモデルのバリデーションをかけるには

$this->ModelName->set($data);
if (! $this->ModelName->validates()) {
    // バリデーションエラー
    $errors = $this->ModelName->validationErrors;
}

な感じでかけられますが、全項目はなくて一つの項目(フィールド)だけバリデーションを書けるには

$this->ModelName->set($data);
if (! $this->ModelName->validates(array('fieldList' => array('myField')))) {
    // バリデーションエラー
    $errors = $this->ModelName->validationErrors;
}

で、fieldListを使えばできます

au walletカードの残高を使い切る

2014年のうちはチャージしたらお得なau walletカードでしたが、2015年になってあんまりおいしくないので、使うのやめました

が、チャージ形式なので端数が使い切れない

ここで残高確認
https://wallet.auone.jp/

auwallet

47円残ってる..
使い切ります

amazonギフトカード、Eメールタイプを買います

なんとこれ、15円から買えます
金額入力して、クレジットカードにau walletを追加登録して..

amazon-47yen

購入、しばらくしたらメールが届きます

amazon-giftcard

Amazonアカウントへチャージされます
使いきれてすっきり

Cakephpで諸事情によりテーブルを切り替えたいとき

Cakephpで諸事情によりテーブルを切り替えるには
テストのコードですが

public function setUp() {
    parent::setUp();
    $this->Plan = ClassRegistry::init('Plan');
    $this->Plan->setSource('test_plan');
}

というふうに
Model->setSource
で切り替えられました