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

ファイルポインタ関連の操作に関して

CSVの読み込みに関してファイルポインタ関連で色々と整理することがあったのでメモ。 Contents1 今回やりたかった処理2 ファイルポインタとは 今回やりたかった処理 CSVファイルを読み込み(文 …

no image

S3 commandPoolについて

S3のcommandPoolに関して。 S3にファイルをアップロード、ダウンロードするときに、1つ1つファイルをアップロード、ダウンロードすることが一般的かと思いますが、ファイル数が多くなるとなかなか …

no image

laravel+vessel

現場のリーダー的な方に進められてVesselというDockerのインストールなどをサポートするツールを触ってみました。 特にlaravelのインストールなどに向いていますが、laravelでなくとも使 …

no image

インメモリデータベース redis

インメモリデータベースのredis(レディース)について。 キャッシュとして以前はmemcachedを使っていましたが、いろいろ多機能ということでredisをちょっと触ってみようかと。 Content …

no image

PHPの名前空間

PHPでも5.3以降はJavaのパッケージのように名前空間を使うことができます。 いままではライブラリやアプリケーションの開発者は、PHPに組み込まれている関数やクラス名や他の人が作ったライブラリとの …