私はフォームを持っています。送信している間に、コントローラに値を渡していて、配列がこのように見えます。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
)
誰かが
MySQLで使用したデータ型は何ですか? –
私はdecimal型とfloat型を試しましたが、値が挿入されていませんでした – Jitesh
具体的にどのように小数点を定義しましたか?たとえば小数点以下2桁の5桁をサポートするには、値フィールド '5,2'の下に追加する必要があります(すなわち###。##) –