CakePHP

【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書いたほうが良いなって時はぜひ。

-CakePHP
-,