2014年11月26日水曜日

Idiorm & Parisで、更新系の直接クエリを実行したい場合は「raw_execute」

Idiorm & Parisで、更新系の直接クエリを実行したい場合は「raw_execute」でした。ハマったので、メモ。プライマリーキーの設定されていないテーブルなどでは、raw_executeを利用すると、うまく処理できます。

更新系は「raw_execute」を使う
ORM::raw_execute(
  'UPDATE person SET name = :name WHERE number = :number',
  array('number' => $number, 'name' => $name)
);

ちなみに、参照系は「raw_query」を使う
$people = ORM::for_table('person')
  ->raw_query('SELECT p.* FROM person p JOIN role r ON p.role_id = r.id WHERE r.name = :role', array('role' => 'janitor'))
  ->find_many();

参考サイト
Configuration Idiorm documentation

0 件のコメント:

コメントを投稿