ECCUBEでエラーレベルを変えてエラーを表示する

ECCUBE 3.13.3へのバージョンアップ作業をしてますが、エラーがでまくる..
エラーログをいちいち見るのが大変なのでエラーレベルを下げて、画面にエラーが出るように

$ vim data/cache/mtb_constants.php

define('DEBUG_MODE', true);  

DEBUG_MODE を true にしてやればいいです

エラーでまくるのはしんどい..

CakephpのbeforeFilterでComponentを使うときのエラー

CakephpのbeforeFilterでComponentを使っているとなんやらメソッドがないとかエラーが

Fatal error: Call to a member function save() on a non-object ...

えー、普通に使ってるのに..と思ったら、beforeFilterでは、Componentのstartupがまだ呼ばれてないっぽい(使える準備ができてない)
仕方ないので、メインのメソッドに書きました

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を使えばできます

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

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

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

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