Я подключил API к форме, которая создает экземпляр класса Laravel, сохраняет его в базе данных и возвращает json:
$record = $request->all();
$record['client_id'] = $client->id;
$record['price'] = $record['price'] * 100; // price sent in pounds, needs converting to pence
$newRecord = CustomerServicePrice::create($record);
return response()->json($newRecord->toJson());
Я не использую какие-либо необычные пакеты Laravel илиsql, все нормально, Innodb.
Итак, когда приходит $record['price']
, ему присваивается строка '2.30' - мой код, как вы можете видеть, умножает его на 100, прежде чем сохранитьк целочисленному столбцу в базе данных.
Запись отлично записывается в базу данных как 230. Но по какой-то причине $newRecord->price
выходит как 229. Если я получаю запись через другой API иотрендерить его, он правильно отображает как 230 - только после создания он возвращает мне неправильное значение 229, и это происходит не со всеми числами - если я отправлю «2,40», он правильно покажет мне 240, он изолирован для некоторыхтолько значения.
Если вы уже сталкивались с этим раньше, я бы хотел помочь.