猫型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

-未分類
-,

執筆者:

関連記事

PHP execで別exeが実行できない

他のサイトでも色々紹介されていますので、あまり紹介されていないパターンのご紹介です。 どうしても実行できないときは、まずexecを呼び出しているときのカレントワーキングディレクトリを確認してください。 …

asp

IIS(ASP.NET)ではネットワークドライブの割り当てを使ってはいけない

以前「タスクタスクスケジュールではネットワークドライブの割り当てを使ってはいけない」 という記事を記載したが、ASP上でも同じことが言えます。 ASPも実行するのがログインしているユーザーとはことなり …

CakePHPの初期画面を変更する

/Config/routes.phpを編集すればOKです。 もちろん事前に対応するページを作成しておかなくてはいけません。 まずはbakeコマンドでサンプルページを作成しておけばスムーズに開発できるで …

PHPのダブルクォーテーションとシングルクォーテーション

PHPではどちらでも利用できます。 ダブルクォーテーション => 文字列中の変数を展開する シングルクォーテーション => 文字列中の変数を展開しない という違いがあるようですが、あまり意 …

CakePHPでbakeしてみる

CakePHPには便利なコマンドがたくさんありますが、なかなか使いこなせません。 そんな方はまずbakeを使用していみるとよいでしょう。 テーブルを元にして、簡単なindex,add,edit,del …