ECCUBE 3.13.3へのバージョンアップ作業をしてますが、エラーがでまくる..
エラーログをいちいち見るのが大変なのでエラーレベルを下げて、画面にエラーが出るように
$ vim data/cache/mtb_constants.php
define('DEBUG_MODE', true);
DEBUG_MODE を true にしてやればいいです
エラーでまくるのはしんどい..
ひびのきろく
ECCUBE 3.13.3へのバージョンアップ作業をしてますが、エラーがでまくる..
エラーログをいちいち見るのが大変なのでエラーレベルを下げて、画面にエラーが出るように
$ vim data/cache/mtb_constants.php
define('DEBUG_MODE', true);
DEBUG_MODE を true にしてやればいいです
エラーでまくるのはしんどい..
CakephpのbeforeFilterでComponentを使っているとなんやらメソッドがないとかエラーが
Fatal error: Call to a member function save() on a non-object ...
えー、普通に使ってるのに..と思ったら、beforeFilterでは、Componentのstartupがまだ呼ばれてないっぽい(使える準備ができてない)
仕方ないので、メインのメソッドに書きました
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で諸事情によりテーブルを切り替えるには
テストのコードですが
public function setUp() {
parent::setUp();
$this->Plan = ClassRegistry::init('Plan');
$this->Plan->setSource('test_plan');
}
というふうに
Model->setSource
で切り替えられました