猫型iPS細胞研究所

Windows、Linux、iOS、DB、Network

未分類

CakePHPでSQLを直接実行する

投稿日:

正直find等を使用するのは面倒です。
SQLを直接実行するには以下のようにします。

 $sql='select count(*) as cnt, referer from acls where controller=\''.$this->name.'\' and action=\''.$this->action.'\' and role like (select concat(\'%\',role,\'%\') from users where id ='.$this->Auth->user('id').' and del_flg=\'0\') and del_flg=\'0\'';
                        Debugger::dump($sql);
                        $data=$this->User->query($sql);

$dataに入った値を取り出すのは以下の通りです。
分からなければ一度Debuggerで変数の中身を確認しましょう。

if($data[0][0]['cnt'] !== '1'){
                                $this->Session->setFlash(__('Authentication failed'));
                                $this->redirect($this->Auth->logout());
                        }

Gooleアドセンス用336

Gooleアドセンス用336

-未分類
-,

執筆者:

関連記事

QdsmtpをAUTH LOGINに対応させる

Qdsmtpを使用して以下のようなエラーがでることがあります。 QdSmtp error: HOST:sysmail.ipsism.co.jp doesnot suppoted MY Abalable …

CakePHP Viewのラベルを変更する

デフォルトでは列タイトルがそのまま表示されてしまいます。 分かりやすい日本語表示に変更します。 INPUTの場合は以下のようにします。 <div class="companies fo …

CakePHPのauth.phpでパスワードの認証ができない

Usersテーブルにusernameとpasswordを入れて、 チュートリアルにある簡単な認証画面でテストしたのですが、 どうしても認証できません。 データベースはMySQLを使用して、select …

PDO SQLSRVが認識しない

Windows上でPHPを使ってSQLSERVERに接続するためには PDO SQLSERVERというエクステンションを追加するのが一般的だと思います。 がどうしてもうまく認識してくれません。 認識し …

CakePHPでControllerからViewへデータを渡す時の注意点

Controller側で $this->set(‘hensu’,$role); $this->set(‘aaa’,’xxx’); としてやれば、View側で ; ; として値を取り出すこと …