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

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

Иногда в одной колонке нужно хранить структурированные данные: настройки виджета, список тегов, параметры формы. Для этого подходит метод json:

<?php $table->json('options'); ?>

В базе поле хранит текст в формате JSON. Laravel при работе с моделями Eloquent может автоматически преобразовывать его в массив PHP и обратно.

Пример миграции таблицы пользователей с настройками:

<?php public function up(): void { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email'); $table->json('settings'); $table->timestamps(); }); } ?>

В settings можно хранить, например, тему оформления и язык: {"theme":"dark","lang":"ru"}. Не стоит складывать в JSON то, что логичнее вынести в отдельные колонки - имя, email, цена.

Добавьте в таблицу поле settings типа JSON.

Приведите пример данных, которые удобно хранить в JSON.

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