以前、以下の記事を書きました。
FuelPHPのORMの$_propertiesでform設定と除外フィールド。
http://madroom-project.blogspot.jp/2012/07/fuelphpormpropertiesform.html
この方法、以下の問題が発生しましした。
(1) モデルの$_propertiesにvalidationを定義。
(2) $_observersにOrm\Observer_Validationを設定、before_saveで自動実行。
(3) (2)のタイミングで、skip設定したカラムのvalueが消えてしまう。
結果として、例えばskip設定したカラムのvalueが整数型だった場合、
値が飛ぶことにより0がinsertされてしまう。
(結果はMySQLの設定等で異なると思います。)
解決策は、$_propertiesの該当フィールドに対して、
skip設定を使わず、typeにfalseを設定することです。
--
'form' => array('type' => false),
--
参考:
http://docs.fuelphp.com/packages/orm/creating_models.html
ボケてました。skip設定したら入力項目に出て来ませんね。
No comments:
Post a Comment