CakePHP2.x SQLをModelに書いて実行する ITかあさん

ITかあさん

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);
    }

。。特にメモるほどでもなかったかも・・

初夏のJavaScript祭 in サーキュレーションビル ForPro