CakePHP2.x SQLをModelに書いて実行する
CakePHP2.x SQLをModelに書いて実行する
CakePHP使いとしては、SQLを書くことそのもが気が引けるのですが。。やむなしって時。
ControllerにSQLを書くケース
$return = $this->Model->query($sql);
SQLを書いて実行する場合はこれが一般的。
ModelにSQLを書くケース
もちろん、プレースホルダーをつかってSQLインジェクション対策もします。
class Model extends AppModel { public function getMember($id){ $sql = "SELECT * FROME table WHERE member_id = ?;"; $params = array( 'member_id'=> $id ); $data = $this->query($sql,$params); return $data; }
あとはController内で受け取ります。
//Controller public function index($id) { $data = $this->Model->getMember($id); $this->set('data', $data); }
。。特にメモるほどでもなかったかも・・