最近、業務でCakePHP, MagicWeapon, MySQLを使っているのですが
よく忘れる事とか、ちょっとメモをしておこうかなと。
・CakePHPでDBのカラム名を取得する
$columns = array_keys($this->getColumnTypes())
・CakePHPのControllerでModelを動的にロード
$this->loadModel('ModelName');
・CakePHPでUpdate
1. $this->Model->id にアップデートしたいIDをセット(複数keyには対応してない様子
2. $this->Model->save($updArr) ※$updArrは、$updArr[dbColumn] = 'updateValue' の単純な形式
・MySQLでselect insert
insert into <newtable> (<columns>) select <columns> from <oldtable> <where>
で。CakePHPでDBカラムの取得と組み合わせると
$columns = implode(',', array_keys($this->getColumnTypes());
$sql = "insert into {$this->useTable}_new ({$columns}) select {$columns} from {$this->useTable} where {$this->primaryKey} = 'value';
みたいな書き方ができる。。と