CakePHPとかMySQLとかいろいろ。

| コメント(0)


最近、業務で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';

みたいな書き方ができる。。と

コメントする