CakePHPのモデル内でループ中にsaveメソッドを繰り返すとcreatedとmodifiedが”0000-00-00 00:00:00″になる件 2010年01月22日 18:00CakePHP しばらくぶりに CakePHP のおはなし。 日時が入らない 複数のデータを INSERT しようと思って モデルのループ内で save メソッドを繰り返すと 2週目からはモデルが同じ id をひきずることになり INSERT じゃなくて UPDATE になってしまうので save の前に create をしましょうね、というのは 以前ここに書いて教えてもらったとおり。 CakePHPのsaveメソッドでINSERTするつもりがUPDATEになってしまう場合 – 頭ん中 ところがこれをやるともうひとつ困ったことが起きる。 CakePHP で save メソッドを使うと データベースのテーブルの
環境 CakePHP 1.2.3 8166 複数レコードを編集する際の注意点 フィールド名の注意 Model::find() の注意 バリデーションの注意 フィールド名の注意 フィールド名は以下のように定義してはならない。 <?php foreach($products as $p){ echo $form->text($i . '.Product.name'); } ?> 以下のように定義しなくてはならない。 <?php foreach($products as $p){ echo $form->text('Product.' . $i . '.name'); } ?> なぜ Model.$i.field としてなくてはならないのか? FormHelper::error() でエラーメッセージを表示できなくなってしまう。 error() は Helper::tagIsInvalid()
HOME » 代表者ブログ » Programming » PHP » CakePHP » [CakePHP] バリデーションのallowEmptyとrequiredを解説してみる CakePHPを使用していて、以前からわかっているようで、わかっていないような気がすることがありました。それはバリデーションルールにあるallowEmptyとrequiredです。 これって、わかるようでわかりにくい内容で、それをまとめたサイトもあるのですが、それを読んでもどうもシックリ来なかったりします。そこで、下記に自分用にまとめてみました。ちなみにCakePHPのバージョンは1.3です。 英語での意味 まず、それぞれの英語の意味を明記しておきます。 allowEmpty 空を許す、空を許可する required 要する、必要とする、命じる、要求する まあ、わざわざ書かなくてもわかることでしょうが、書いてお
New CakePHP 5.0 Chiffon. Faster. Simple. Delicious. What's new in version The migration guide has a complete list of what's new in. We recommend you give that page a read when upgrading. A few highlights from 5.0 are: PHP 8.1 required. Improved typehints across the framework. CakePHP now leverages union types to formalize the types of many parameters across the framework. Upgraded to PHPUnit 10.x
CakePHPまとめ CakePHP情報のまとめ トップページページ一覧メンバー編集 Validation(バリデ−ション) 最終更新: tech5963 2009年09月24日(木) 14:22:00履歴 Tweet Validation(バリデ−ション) バリデーションの設定はModel内の$validate配列を定義して行う。 save()の実行時に自動的にバリデートのチェックを行う バリデーション定義例 <?php class User extends AppModel { var $name = 'User'; var $validate = array('フィールド名' => 'ルール名'); } ?> 単純なバリデーション 'フールド名' => 'ルール名'の連想配列でOK var $validate = array( 'login' => 'alphaNumeric', '
CakePHPでデータベースのテーブルにデータを保存するには、save()を使います。 $data = array('User', array('name' => 'hoge', 'birth' => '1988-01-01', 'b_type' => 'A')); $this->User->save($data); この命令により以下のSQLが実行されます。 INSERT INTO users ('name', 'birth', 'b-type') value ('hoge', '1988-01-01', 'A'); SELECT * FROM users; id name birth b_type 1 hoge 1988-01-01 A 作られたデータをUPDATEしたい場合には、主キーの「id」を指定してsaveすればUPDATEできます。 $data = array('User',
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 は保存するモデルデータをスナップします。保存するために準備されたデータを、次のような基本フォーマットを使用してモデルの save() メソッドに渡します: Array ( [ModelName] => Array ( [fieldname1] => 'value' [fieldname2] => 'value' ) ) 多くの場合、このフォーマット
[PR] 今日のニュースは?? : 2ch自動まとめキュレクス [PR] 名言や格言をどうぞ! : 名言満載! [PR] 副業したい? : 出張ホスト募集中 [PR] SEO最高峰のクオリティー : 知る人ぞ知る、SEOUP.com。テラプレミアムアクトは抜群におすすめ! [PR] 口コミ対策 : 口コミでSEO対策。なんとびっくり、1円からご利用頂けます。 [PR] 出張キャバクラアゲハ : ちょっとした飲み会のお供に。デートのお相手に。 cakephpのfind all とかそういうのを使いまくれば、別にmysql文なんて理解して無くても良い。 ただ、ちょっとだけ凝ったsqlを発行するときにごりごり書くとそれだけで相当処理が重くなる。 今回は、cakephpを使っていてあんまりsql構文を知らない人のために、構文をまとめてみた。 updateAll で primarykey 以外の条件
CakePHPはテスティングフレームワークとしてSimpleTestにデフォルト対応をしているのだけれども、正直*fixture.phpの$recordsのテストデータを書くのが面倒。 とくにリレーションが複雑な場合。 ちなみに、Ruby on RailsはテストデータをYAMLで書けるらしく、ハッシュで書かなければならないCakePHPよりましだけれどもそれでも面倒。 じゃあ、データベースのレコードデータを活用するように*fixture.phpの$importパラメータを駆使すればいいのだけれども、ここがなかなか鬼門で、いままで運用にのる形でうまくいった試しがない。 やっぱり$recordsを書いて対応するのがデフォルトで安定しているみたい。 でも$recordsを書くのは面倒なわけで、「*fixture.phpの$recordsをデータベースのデータから生成するようなプラグインないです
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く