getLastInsertIDでIDを取得できます。 if($this->Model->save($data)){ $last_id = $this->Model->getLastInsertID(); } コントローラ
getLastInsertIDでIDを取得できます。 if($this->Model->save($data)){ $last_id = $this->Model->getLastInsertID(); } コントローラ
New CakePHP 5.2 Chiffon. Faster. Simple. Delicious. What's new in 5.2 The migration guide has a complete list of what's new in 5.2. We recommend you give that page a read when upgrading. A few highlights from 5.2 are: New "counter_cache" command New "nativeuuid" database type Error handling customization using methods in "ErrorController" Helper method for generation importmap for JavaScript files
多くの場合モデルの find 呼び出しをする際に、様々な方法で検索条件のセットを渡すことになります。最も簡単な方法は、SQL の WHERE 句の抜粋を使用することです。もっと細かく制御する必要がある場合、配列を使用します。 配列を使用すると、すっきりと読みやすくなり、クエリーを作成しやすくなります。この構文はクエリーの要素(fields, values, operators など)を分離し、扱いやすくします。このおかげで CakePHP は最も効率よくクエリーを生成することが可能になり、適切な SQL 構文を保証し、クエリーの各部分を適切にエスケープすることができます。 ごく基本的な配列をベースにしたクエリは、次のようになります。: $conditions = array("Post.title" => "This is a post"); //モデルでの使用例: $this-
CakePHP1.2 にシェル機能というのがあるのを知りました。下記エントリでメールからの処理を実際に行う方法が紹介されています。 メール受信からのシェル機能実行 – Writing Some Code ちょうど CakePHP1.2で開発中のシステムで cron でのバッチ処理があるのでそれに応用してみたときのメモです。 バッチ処理で実行させるシェル機能を作成 今回は test という名前のシェル名にします。 app/vendors/shells/test.php を作成します。 < ?php class TestShell extends Shell { var $uses = array('Model'); function actionName(){ /* 実際の処理を書きます */ /* $this->uses に追加したモデルが使用できます */ $lists = $this-
CakePHPで郵便局のサイトから郵便番号データCSVを取得し、データインポートする処理です。 ■テーブルの作成(PostgreSQL) create table zips( created timestamp not null, id text primary key, pref text, address1 text, address2 text ); ■モデルの作成 app/models/zip.php ■メイン処理の作成 app/vendors/shell/zip.php Zip->begin(); $this->Zip->deleteAll(array("NOT" => array("id" => null))); $fh = fopen("ken_all.csv", "r"); while($cols = fgetcsv($fh,500)) {
CakePHP でファイルアップロードを簡単に行うコンポーネントです。 ReverseFolds – CakePHP File Uploads データベースにファイル名、MIMEタイプ、サイズなどを記録し、ファイルは指定したディレクトリへアップロードするようになっています。 ビューにファイルアップロード用のタグを設置 <input type='file' name='userfile[]'/> 複数配置したいときは <input type='file' name='userfile[]'/> <input type='file' name='userfile[]'/> コントローラに使用するコンポーネントを追加 var $components = array('FileHandler'); アップロード処理 $this->FileHandler->setDebugLevel(1); $th
CakePHP1.2 RC2 Model 名が Sample の場合、 App::import('Model', 'Sample'); これでコンポーネントでモデルが使えるようになります。
( 0 票 )現在CakePHP 1.2.0.7692-rc3を使っていますが、フォームのデフォルト値の指定にバグがあるようです。 form helperでテキストボックスやラジオボタンなどを作成するときに、"default"オプションを指定することで、そのフォームエレメントに関連する変数に何も値が入っていないときに値を設定することができます。 "value"オプションとの違いは、"value"を指定すると、そのフォームエレメントに関連する変数の値の有無にかかわらず値が強制的に指定されるのに対し、"default"では変数に値があればそちらを、なければデフォルト値を設定してくれる点です。 しかし、変数にデータベースから読み込んだ値が入っていても、そちらを使わずにデフォルト値が使われてしまう場合がありました。例えば、次のように登録済みのユーザデータを編集するフォームで、性別を選択するラ
The original text for this section has changed since it was translated. Please help resolve this difference. You can: See what has changed Compare the current text to the original More information about translations CakePHP のバリデーション(Validation)クラスには、あらかじめ組み込まれたルールがたくさんあり、これらを用いるとバリデーションがとても簡単になります。このクラスには、あらたに定義を書き起こさなくていいように、よく使われるバリデーションのテクニックがふんだんに盛り込まれています。全てのルールの説明と使用例の一覧は、下記を参照してください。
Smarty を CakePHP で使用する方法を調べたメモ Smarty の用意 Smarty ディレクトリを/vendors ディレクトリへコピー /vendors/smarty/Smarty.class.php のようになる。 Smarty が使用するディレクトリを作成 /app/tmp/smarty/cache/ /app/tmp/smarty/compile/ Smarty 用の View クラスの準備 レンダリングを任せる Smarty View Class を設定します。 Smarty View Class をダウンロードして smarty.php とリネームして /app/views/ に配置する。 smarty という名前のサブディレクトリを使用しないなら $this->subDir = 'smarty'.DS; をコメントアウトする。 また、 $this->Smarty
これだけCakePHPが普及してきたのに、どういうわけかIISでCakePHPをまともに動かしてみたという日本語の記事をまだ見たことがありません。 以前やってみて、mod_rewriteの設定がうまいこといかなく頓挫しました。 冬の休暇中の宿題という事でやってみて、やっとその方法を見つけました。 ※以下、Windows Server 2003 R2 SP2+IIS 6.0+PHP 5.2.6にて。 CakePHPは1.2を使用し、/cakephp/ディレクトリに導入するものとする。 まずはmod_rewriteの代替品という事で「URL Rewrite Filter for IIS」ですが、いつの間にか公式サイトが消滅していました。 1. DLしてきたものを解凍してC:\mod_rewriteに展開 2. IISマネージャを開き、左のツリーの「Webサイト」を右クリック、プロパティ
1.2系で色々と便利になっているvalidation機能ですが、エラーメッセージ出力については「DRYじゃない」と感じる点があります。 今回はそれを解消することを試みてみました。(バージョンはBeta 1.2.0.6311) 「DRYじゃない」と感じる点 同じruleのメッセージを何度も書かなくてはいけない 例えば、同じruleが複数登場する場合、モデル内の$validate配列が <?php var $validate = array( 'field1' => array( array('rule' => VALID_NOT_EMPTY , 'message' => '必ず入力してください。'), array('rule' => array('minLength', 5), 'message' => '5文字以上で入力してください。' ), array('rule' => array('
1.1系ではModel::generateList()メソッドを使えば、モデルから指定した列のkeyとvalueがペアとなった配列が取得でき、selectタグを作るのに便利でした。 1.2系ではそのgenerateList()は非推奨メソッドとなり、 「1.2系ではgenerateList()の代わりにModel::find('list')を使う」 という情報は色々なところで見つかったのですが、keyとvalueに使われる列を自分で指定する方法が分からなかったので調べてみました。 今回分かったのは2通りのやり方です。(Beta 1.2.0.6311で確認) 方法1:displayFieldプロパティを設定して、Model::find('list')を呼ぶ方法 こちらの方法はkeyに使われる列はモデルの主キー(通常であれば'id')固定になります。 モデルのdisplayFieldプロパティ
New CakePHP 5.2 Chiffon. Faster. Simple. Delicious. What's new in 5.2 The migration guide has a complete list of what's new in 5.2. We recommend you give that page a read when upgrading. A few highlights from 5.2 are: New "counter_cache" command New "nativeuuid" database type Error handling customization using methods in "ErrorController" Helper method for generation importmap for JavaScript files
「CakePHPによる実践Webアプリケーション開発」に少しだけ書かれています。書籍で気になったのは、「UTF-8を利用する」というところ。3G携帯だけ対応するのはいいとしても、UTF-8だけ、というのはなんだか気になるのです。Shift-jisじゃなくていいのかなあ?と疑問が残ります。そこで、ヘルパーを作ってみました 文字コードをUTF-8からshift-jisに変換 全角カタカナを半角カタカナに変換 このヘルパーなんですが、viewの出力内容を書き換えるように動きます。 そのため、テンプレートファイルに全角カタカナでなんか書いていても、半角に変換されます。また、テンプレートファイルは、UTF-8じゃないとダメです。 「【Ktai】「Ktai Library」バージョンアップ少し延期のお知らせとviewの話 | ECWorks Blog」「CakePHP 携帯専用サイトを作成する | S
今すぐお金が必要!でも他社で審査に落ちてしまった、そんな時におすすめの審査が柔軟なキャッシングサービスをご紹介します。
► 2018 (1) ► 1月 (1) ► 2017 (4) ► 6月 (3) ► 5月 (1) ► 2016 (15) ► 12月 (4) ► 11月 (1) ► 10月 (2) ► 7月 (3) ► 6月 (1) ► 5月 (3) ► 1月 (1) ► 2015 (13) ► 12月 (1) ► 10月 (1) ► 9月 (1) ► 6月 (1) ► 5月 (1) ► 3月 (2) ► 2月 (3) ► 1月 (3) ► 2014 (11) ► 12月 (1) ► 9月 (2) ► 8月 (2) ► 6月 (1) ► 4月 (4) ► 2月 (1) ► 2013 (15) ► 12月 (3) ► 11月 (3) ► 8月 (2) ► 7月 (4) ► 5月 (1) ► 4月 (2) ► 2012 (7) ► 10月 (1) ► 7月 (1) ► 4月 (3) ► 1月 (2) ► 20
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く