Controller_Iot内のpost_updateでPostの値を受取り、データベース内の値をアップデートしたい
FuelPHPの学習をしています。RestAPIの実装で、Postから値を受取り接続してるMySQLデータベースの値を書き換えたいです。
具体的には、idカラムを数値で取得し、そのid内の値を、どこのカラムを書き換えるか、どのようなデータに書き換えるかの実装をしたいです。
id以外のbooknameやpriceなどは必ず取得しなければいけない、というわけではないです
下記Gitリポジトリから該当ファイルを取得できます。
GitHub
解決させたいこと。
・発生しているエラーはありません、どんな状況でもif文がelseにいってしまうのを解決したいです。
APPPATHE/classes/controller/iot.php
PHP
1public function post_update() 2 { 3 $http_code = 200; 4 $message = "Success!"; 5 $val = Validation::forge(); 6 $val->add('id')->add_rule('required')->add_rule('valid_string','numeric'); 7 $val->add('bookname')->add_rule('min_length',1); 8 $val->add('writer')->add_rule('min_length',1); 9 $val->add('price')->add_rule('min_length',1); 10 $val->add('jan')->add_rule('exact_length',13)->add_rule('valid_string','numeric'); 11 $val->add('isbn')->add_rule('exact_length',13)->add_rule('valid_string','numeric'); 12 if($val->run()) 13 { 14 $update = DB::update('iot')->set(array( 15 'bookname' => Input::post('bookname'), 16 'writer' => Input::post('writer'), 17 'price' => Input::post('price'), 18 'jan' => Input::post('jan'), 19 'isbn' => Input::post('isbn') 20 ))->and_where('id','=',Input::post('id'))->execute(); 21 } 22 else 23 { 24 $http_code = 500; 25 $message = 'Oops!'; 26 } 27 return $this->response(array( 28 'Message' => $message 29 ), $http_code 30 ); 31 }
補足
コントローラ名iotなのにデータベースはbook?などと野暮なことは聞かないでください。
回答1件
あなたの回答
tips
プレビュー