2016-04-26 10 views
0

私はフォームを持っています。送信している間に、コントローラに値を渡していて、配列がこのように見えます。cakephp saveを使用してmysql dbに10進値を保存すると問題が発生する

[submit] => Post 
    [File] => Array 
     (
      [content] => dfgdfgdfg 
     ) 

    [Groups] => Array 
     (
      [group_name] => 190 
     ) 

    [News] => Array 
     (
      [is_private] => 1 
      [user_id] => 285 
      [content] => <p>dfgdfgdfg</p> 

     ) 

    [Posts] => Array 
     (
      [rating] => 5.2 
      [rating_enabled] => on 
     ) 

評価を除くすべての値がdbに正しく保存されます。私はフロントエンドでスライダを使用しており、その値は評価です。 dbでは、評価フィールドは小数点タイプです。投稿のタイプ[評価]は文字列ですので、floatvalを使用してfloatに変換しました。その保存が行われた後

if( isset($this->request->data['Posts']['rating_enabled']) ){ 
       $this->request->data['News']['rating'] = floatval($this->request->data['Posts']['rating']); 
      } 

$this->News->save($this->request->data); 

のみの$ this - >要求 - >データ[「ニュース」] [「評価」]保存されますが、ときにデータ配列に値をチェックされていませんある

[News] => Array 
     (
      [is_private] => 1 
      [user_id] => 285 
      [content] => <p>dfgdfgdfg</p> 
      [rating] => 5.2 
     ) 

誰かが

+0

MySQLで使用したデータ型は何ですか? –

+0

私はdecimal型とfloat型を試しましたが、値が挿入されていませんでした – Jitesh

+0

具体的にどのように小数点を定義しましたか?たとえば小数点以下2桁の5桁をサポートするには、値フィールド '5,2'の下に追加する必要があります(すなわち###。##) –

答えて

0

ご確認くださいmysqlのテーブルの評価は

フロートしなければならない間違って何を教えてもらえます
+0

私は小数点をフロートに変更して試したが、結果は同じだった – Jitesh

関連する問題