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

CakePHP3系でのテスト処理

以前CakePHP2系のテストは書きましたが、3系は若干仕様が違いますので、3について書こうと思います。例によってエントリーレベルですが。 Contents1 準備1.1 phpunit1.2 テスト …

no image

ログライブラリについて

以前にも少し書いたログ設計に関する記事。 ログの設計指針について 上記でログの設計について書きましたが、今回はログのライブラリに関して欲しいと思う機能を。 Contents1 レベル分け2 チャネルわ …

no image

WordPressでのアイキャッチ画像

このブログと並行して更新しているガチンコ塾のブログですが、アイキャッチをブログ内にいれました。 画像をいれると文章の見やすさもだいぶ変わってくると思うので、アイキャッチの入れ方についてここに書いておき …

no image

cakePHP Tips その2

またまたCakePHPのネタです。 タイトルから内容がわからなくてすいません。 五月雨式に行きます。 Contents1 コントローラーごとのベースになるテンプレートの変更2 linkタグでのHTML …

no image

php5.6のインストール+cake3でのbake

cake3を動かしたい場合、PHP5.4以上でないと動きません。 2016年1月現在、CentOS6でyumでPHPをインストールする場合、php5.3ですので、5.4以上を入れる場合、別のリポジトリ …