質問するログイン新規登録

質問編集履歴

2

Modelのソースを追加

2016/03/07 05:07

投稿

msx2
msx2

スコア174

title CHANGED
File without changes
body CHANGED
@@ -8,8 +8,6 @@
8
8
 
9
9
  Validationのチェックが通ったらSaveメソッドも成功するようにする様に作りたいです。''をNULLに変える処理をどこに書くのが適当でしょうか?
10
10
 
11
-
12
-
13
11
  ■Controller側
14
12
  ```PHP
15
13
  public function action_create(){
@@ -136,4 +134,54 @@
136
134
  </tr>
137
135
  </table>
138
136
  <?php echo Form::close();?>
137
+ ```
138
+
139
+ ```PHP
140
+ class Model_Item extends \Orm\Model
141
+ {
142
+ protected static $_properties = array(
143
+ 'id',
144
+ 'item_cd' => array(
145
+ 'data_type' => 'varchar',
146
+ 'label' => '商品コード',
147
+ 'validation' => array('required','max_length'=>array(100)),
148
+ 'form' => array('type' => 'text'),
149
+ ),
150
+ 'item_name' => array(
151
+ 'data_type' => 'varchar',
152
+ 'label' => '商品名',
153
+ 'validation' => array('required','max_length'=>array(300)),
154
+ 'form' => array('type' => 'text'),
155
+ ),
156
+ 'catalog_price' => array(
157
+ 'data_type' => 'int',
158
+ 'label' => '定価',
159
+ 'validation' => array('valid_string'=>array(array('numeric')),'max_length'=>array(8),'intnull'),
160
+ 'form' => array('type' => 'text'),
161
+ ),
162
+ 'op_flag' => array(
163
+ 'data_type' => 'int',
164
+ 'label' => 'オープン価格',
165
+ 'form' => array('type' => 'checkbox', 'options' => array(1 => 'aaa'), 'value' => 0 ),
166
+ ),
167
+
168
+ 'stock_type' => array(
169
+ 'data_type' => 'int',
170
+ 'label' => '在庫タイプ',
171
+ 'validation' => array('required'),
172
+ 'form' => array('type' => 'radio', 'options' => array(0 => '設定なし', 1 => '単品在庫' , 2 =>'バリエーション在庫' )),
173
+ ),
174
+ );
175
+ protected static $_observers = array(
176
+ 'Orm\Observer_CreatedAt' => array(
177
+ 'events' => array('before_insert'),
178
+ 'mysql_timestamp' => false,
179
+ ),
180
+ 'Orm\Observer_UpdatedAt' => array(
181
+ 'events' => array('before_update'),
182
+ 'mysql_timestamp' => false,
183
+ ),
184
+ );
185
+ protected static $_table_name = 'item';
186
+ }
139
187
  ```

1

2016/03/07 05:07

投稿

msx2
msx2

スコア174

title CHANGED
@@ -1,1 +1,1 @@
1
- FuelPHPValidationで未入力の場合はNullにしたい
1
+ フォームから入力で未入力の場合はnullでデータベース登録したい
body CHANGED
@@ -5,13 +5,10 @@
5
5
  困っているのは「定価」という項目のデータベースへの登録で、この項目はテーブル定義では数値型でNULLが許可されています。(MySQL)
6
6
 
7
7
  何も入力がなかった場合はNULLとしてデータベースに登録したいのですが、このソースでModelのSaveメソッドを実行すると''で登録しようとしてSQLエラーになってしまいます。(ORMモデルです)
8
- ※Saveメソッドを成功させるには$item->catalog_priceにnullを入れないとダメでした
9
8
 
10
- Validationのチェックが通ったらsaveメソッド成功するようにたいですが、うすればいいのでしょうか?
9
+ Validationのチェックが通ったらSaveメソッド成功するようにする様に作りたいです。''をNULLに変える処理をこに書くが適当でしょうか?
11
10
 
12
11
 
13
- 本当はViewでやっているRadioボタンの選択の変な処理も質問したいところですが、一番困っているところから質問させていただきました。
14
- よろしくお願いします。
15
12
 
16
13
  ■Controller側
17
14
  ```PHP