Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pplrPmClDc 106 of 252 menu
◀ ▶

Колонка DECIMAL в миграциях Laravel

Для денег, цен и других точных десятичных чисел не подходит float - там возможны ошибки округления. Используют метод decimal:

<?php $table->decimal('price', 8, 2); ?>

Первый параметр - имя поля. Второй - общее число цифр, третий - сколько из них после запятой. В примере price хранит число до 999999.99.

Пример миграции таблицы товаров:

<?php public function up(): void { Schema::create('products', function (Blueprint $table) { $table->id(); $table->string('name'); $table->decimal('price', 8, 2); $table->decimal('weight', 5, 2); }); } ?>

Для цены в рублях часто хватает decimal(8, 2). Для более крупных сумм увеличивают первое число - например, decimal(10, 2).

Добавьте в таблицу товаров поле price типа DECIMAL(8, 2).

Почему для цены лучше decimal, а не float?

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить