skillup

技術ブログ

PHP

cakePHP Tips

投稿日:2015年10月26日 更新日:

cakeでの気づいたTipsなど。

知っているといろんな部分で開発が楽になります。

作成日と更新日の自動設定

レコードの作成日と更新日ですが、

テーブルの設定を

としておくとここに関する処理を一切書かなくても保存したときに自動的に日付の入力が入ります。

ただフィールド名、型、初期値すべて上記の通り設定してあげないとダメです。

CakePHP2でデフォルト値が定義されているcreatedに0が設定される

ちなみにtimezoneはディフォルトでは日本時間になっていないので、下記のように設定しましょう。

リンクは一部間違ってます。 'Asis/Tokyo'=>'Asia/Tokyo' です。

CakePHPにおいて、timezone関連でワーニングエラーが発生

scaffold

scaffoldは超簡易的なCRUD画面を作ってくれる機能です。

お客さんに見せる場合はまずいですが、とりあえずデータを見るだけ・・とかには便利そうですね。

モデルもviewも必要なく、下記の1行だけでOKです。

http://cakephp20sysnsa.blogspot.jp/2012/05/scaffolding.html

新規登録と編集画面の作成

今回、気づいたんですが新規登録と編集画面のテンプレートが全く同じでOKです。

下記がサンプルコードです。

コントローラーがAdminでUserの情報を保存しようとしているケースです。

そしてテンプレートは下記ファイル(userregist.ctp)だけでOK!

モデルがコントローラーとは別になるので注意。コントローラ自体はAdminですね。

自力でこれを作ろうとするとidをhiddenで持たせるとか、valueに値をもたせるとかいろいろやらないといけないから大変なんですよね。

それが一切なく、改めてすげー楽だなと思いました。

htmlヘルパー

リンクのみ

[CakePHP] Formヘルパーを使って日時を入力する

http://book.cakephp.org/2.0/ja/core-libraries/helpers/form.html

日付が絡んだものや、pulldownとかでいろいろ活用しました。

モデルでのfind(list)など

key => valueタイプの配列を作ってくれます。

プルダウンの時とかに便利。

-PHP
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

switch(true)イディオム

switch文は通常、文字や数字で分岐をさせることが多いですが、実は条件式を入れることも可能です。 私の場合、正規表現を動的に変えたいケースがあり、検索したところ似たケースがありました。 【JavaS …

no image

cakeでのJOINについて&session

Contents1 cakeでのJOIN2 cakeでのsessionについて cakeでのJOIN cakePHPでは基本、hasManyなどの修飾子を使えば、リレーションをとることができますが、検 …

no image

Queueの登録と実際の処理に関して

実務でQueueに絡んだ処理をする機会があったのでメモ。 Contents1 Queueとは2 Laravelでのキュー処理2.1 キューを記録しておく場所2.2 処理を登録する場面(当然まだ処理は行 …

no image

Laravelでのmiddlewareの実行順番

Laravelでのmiddlewareをいじって認証直後の処理を作りたいときなど。 例えばログイン後、ユーザーidに応じた共通処理などをかませたいときです。 この場合、当然ログインの後に処理を実行しな …

no image

PHPのPDF出力に関するエラー

PHPからFPDFなどを使ってPDFを出力するプログラムを書いたんですが、下記のエラーでかなり悩まされました。

読んで字のごとくPDF …

アーカイブ