РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
82 of 1392 menu

Поле decimal

Метод decimal применяется в миграциях Laravel для создания колонки типа DECIMAL в базе данных. Первым параметром передаётся имя колонки, вторым - общее количество цифр, третьим - количество цифр после запятой. Метод позволяет хранить точные дробные числа, например, денежные суммы, без потери точности.

Синтаксис

<?php Schema::table('table_name', function (Blueprint $table) { $table->decimal('column_name', $totalDigits, $decimalPlaces); }); ?>

Пример

Давайте создадим таблицу продуктов с полем для цены:

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up(): void { Schema::create('products', function (Blueprint $table) { $table->id(); $table->string('name'); $table->decimal('price', 10, 2); $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('products'); } }; ?>

Результат выполнения кода:

"Table products created successfully"

Пример

Давайте добавим поле для скидки с возможностью хранения трёх знаков после запятой:

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up(): void { Schema::table('products', function (Blueprint $table) { $table->decimal('discount', 5, 3)->nullable(); }); } public function down(): void { Schema::table('products', function (Blueprint $table) { $table->dropColumn('discount'); }); } }; ?>

Результат выполнения кода:

"Column discount added successfully"

Пример

Давайте создадим таблицу заказов с полями для денежных сумм:

<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { public function up(): void { Schema::create('orders', function (Blueprint $table) { $table->id(); $table->foreignId('user_id')->constrained(); $table->decimal('total', 12, 2); $table->decimal('tax', 8, 2); $table->decimal('shipping_cost', 8, 2); $table->timestamps(); }); } public function down(): void { Schema::dropIfExists('orders'); } }; ?>

Результат выполнения кода:

"Table orders created successfully with decimal columns"

Смотрите также

  • метод integer,
    который создаёт целочисленную колонку
  • метод float,
    который создаёт колонку с плавающей точкой
  • метод double,
    который создаёт колонку с двойной точностью
  • метод default,
    который устанавливает значение по умолчанию для поля
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить