CakePHP
※筆者は CakePHP2でACLを超簡単管理できるプラグイン「ACL Plugin 2」 - たきゃはしです このサイトの情報からACLプラグインを使っていましたが、2015年6月現在 ACLプラグインであるPlugin ACLがダウンロードできない状態になっています。 2015年7月追記 Ala…
① まず、appのなかのVendorフォルダ内にmyfunction.phpを作ります
これはCakePHP2系でとても重要なことです。リレーションの順番に関することです。例えば、 SampleDog Appleという3つのデータベースをリレーションさせていたとして、 コントローラーSamplesControllerでDogとAppleのモデルを読み出したい場合は App::uses(…
PHPもしくはCakephpで、MySQLのカラムにcreatedを入れたあとなどに、 その中の年月日だけ出したい(時間はいらない)場合がありますよね。 今回は、そのような場合に、(年と)『日付』だけ取り出すテクニックです。 例えば、$exampleという変数に、Example…
CakePHPでvar_dumpのレイアウトが崩れたときの対処法です。var_dumpのレイアウトが崩れると、配列の構造が分からなくなるのでとても困りますよね。レイアウトを直す方法があります。解決策は、var_dumpする前後に<pre>タグで囲んであげることです。<pre></pre> これで、配列</pre>…
①まず、CakePHPのサーチプラグインを実装する CakeDCのsearch pluginの記事が少ないので1個置いときますね。CakePHP Advent Calendar 2010 8日目 - kanonjiの日記d.hatena.ne.jp こちらが参考になります。 ② コントローラーにサーチ機能を付けたActionを作っ…
resultsというテーブルで、idの1311から1326までの event_name_id という変数を全て59にしたい場合は、id BETWEEN a AND bを使って、UPDATE results SET event_name_id = 59 WHERE id BETWEEN 1311 AND 1326 とすれば完了です。
例えば Threadというテーブルがあって id title body -------------------------- 1 hi hello 2 oh wow 3 hi apple 4 hi good 5 hi split 6 hi girl まぁ適当ですが、こんな感じで6つデータが入っているとしましょう。 今回やるのは、このThreadというテー…
まず、コントローラーに App::uses('Sanitize', 'Utility');//サニタイズ用 これを追加します。サニタイズ用の準備です。 次に、addアクションに移動します。 ipaアドレスは$ip=$this->request->clientIp(false); これで取得できます。 リモートホスト名は $…
CakePHPにはCookbookという公式のチュートリアルサイトが存在します。 このページです。 入門 — CakePHP Cookbook 2.x ドキュメント CakePHPを自分のものにするには、上記の1ページをとにかく実装してみましょう。 とにかく最初が大変です。1ヶ月以上かか…
どうも。ivoiceです。 ローカル環境ではちゃんと動いているのに、オンライン環境(さくらインターネット)でaddなどをすると画面が真っ白になる症状の解決方法です。 この場合は、CakePHP本体ではなく、php.iniの設定を変更しましょう。 さくらのレンタルサ…
CakePHPのfind関数について、conditionsで複数の条件を当てはめる方法です。 データベースの名前をModelとして、$a にデータベースの中身をすべて入れる場合は コントローラーに$a = $this->Model->find('all'); と書けば、取得できます。 ここで、Modelのデ…
Ajaxを用いたフォーム入力を実装するための方法です。 CakePHPでjQueryを用いています。 ① まず、CakePHPでフォームを作る。 Form->Create('Model'); echo $this->Form->input('year', array( 'type' => 'date', 'empty' => ' ', 'selected'=>array( 'year' …
CakePHPでリンクを別のタブで開くようにする方法です。 通常、htmlのタグでは、 <a href="飛ばす先のURL" target="_blank">リンクへのテキスト</a>こんな具合で「" target="_blank"」を記述すると思います。 CakePHPでこれを実現するには、 echo $this->Html->link( ”リンクへのテキスト”,飛ばす先のURL,a…
CakePHPでハマるポイントとして、データベース、コントローラー、モデル、ビューの名前で、それぞれ単数形、複数形を使い分けないといけないというのは CakePHPの公式説明書であるCookbookにも書いてある。 CakePHPの規約 — CakePHP Cookbook 2.x ドキュメン…
CakePHPでは、規約が重視される。 特に変わっているのが、データベースの名前とコントローラー、モデルの名前の関係性。 データベースは英語の複数形の単語でつくり、 コントローラーは複数形、ビューも複数形。 モデルのファイル名は単数形で書かなければい…