2016-04-26 16 views
0

我有一個表單,同時提交我傳遞值給控制器和數組看起來像這樣。問題使用cakephp保存mysql數據庫中的十進制值save

[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中,rating字段是十進制類型,Posts [rating]的類型是字符串,因此我使用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); 

只有$這個 - >請求 - >數據[「新聞」] [「評級」]不保存,但在數據陣列檢查的價值是

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

誰能告訴我什麼是錯的

+0

您在MySQL中使用的數據類型是什麼? –

+0

我試着用十進制和浮點類型,但我沒有得到插入的值 – Jitesh

+0

具體你是如何定義小數的?例如,爲了支持具有2個小數位的5位數字(例如###。##),您需要在值字段'5,2'下添加 –

回答

0

請檢查MySQL表的評價必須上浮

+0

我已經改變了小數浮動也試過,但結果是一樣的 – Jitesh