
【CakePHP2】自作SQLを実行させる方法
2015/01/11
CakePHP2で、直接SQLを実行させたい場合の方法。
CakePHPのバージョンは、2.3.10で確認しました。
CakePHPで自作SQLを実行
複雑な条件でデータを取得したりする場合や、SQLを直接書いたほうが早いって方が居ると思います。
その場合、CakePHPに用意されている queryメソッド を使用し、SQLを実行することができます。
SQLはモデルファイルにまとめた方が綺麗かな、と思いましたので、モデルにSQLを書く方式を採用しました。
もちろん、コントローラーに直接書いても問題ありません。
コントローラー
[php]
Profile->_get_detail($id);
$this->set('data', $data);
}
}
[/php]
モデル
[php]
class Profile extends AppModel{
public function _get_detail($id)
{
$sql = "SELECT * FROM profiles WHERE id = :id;";
$params = array(
'id'=> $id
);
$data = $this->query($sql, $params);
return $data;
}
}
[/php]
さほど難しいことではないので、SQL書いたほうが良いなって時はぜひ。