какой тип данных это сохранить на mysql 1 – 4.9

Я хочу сохранить рейтинги стиля, которые варьируются от 1 до 4.9 в моей базе данных mysql, какой тип данных я должен использовать? и я продолжаю получать эту ошибку, когда я сохраняю ее как десятичную (11,0)

ОшибкаException в строке helpers.php 747: Метод App \ Wasamar \ Rating :: __ toString () должен возвращать строковое значение

МОЙ КОД

$allInputs = Input::all(); $catalogueStyleId = Input::get('catalogueStyleId'); $userId = Crypt::decrypt( Input::get('user') ); $rating = Input::get('rating'); $countUserStyleRating = count( Rating::where('catalogue_style_id',$catalogueStyleId)->where('user_id','=', $userId)->first() ); if ( $countUserStyleRating == 0 ) { # add new rating data $rating = new Rating; $rating->user_id = $userId; $rating->catalogue_style_id = $catalogueStyleId; $rating->catalogue_style_rating = $rating; $rating->save(); echo "Your rating has been noted thank you"; } 

    Проблема в том, что ваше десятичное определение не указывает десятичных точек. DECIMAL(11,0) означает, что вы хотите сохранить 11 цифр слева от десятичной точки и ни один после.

    Вам нужно определить десятичное значение как DECIMAL(2,1) если вы хотите хранить от 0,1 до 4,9. 2 означает, что вы хотите сохранить две полные цифры, а 1 означает, что вы хотите 1 из этих цифр справа от десятичной точки.

    Из документации:

    Синтаксис объявления для столбца DECIMALDECIMAL (M, D) . Диапазоны значений аргументов в MySQL 5.7 следующие:

    M – максимальное количество цифр (точность). Он имеет диапазон от 1 до 65.

    D – количество цифр справа от десятичной точки (шкалы). Он имеет диапазон от 0 до 30 и должен быть не больше М.

    Документация MySQL