Json
Вы просматриваете документацию старой версии MoonShine. Рассмотрите возможность обновления вашего проекта до MoonShine 2.x.
В базе поле должно иметь тип text или json. Также cast eloquent модели array или json или collection.
# Ключ/Значение
Самый простой способ с использованием метода keyValue, в таком случае в базе будет простой json [{key: value}]
use MoonShine\Fields\Json; //...public function fields(): array{ return [ Json::make('Product Options', 'options') ->keyValue('Characteristic', 'Value') // Первый аргумент Лейбл ключа, второй лейбл значения ];}//...
# С набором полей
Для более расширенного использования воспользуйтесь методом fields и передайте необходимый набор полей подобно тому как работает ресурс
use MoonShine\Fields\Json; //...public function fields(): array{ return [ Json::make('Product Options', 'options') ->fields([ Text::make('Title', 'title'), Text::make('Value', 'value') ]) ];}//...
json [{title: 'value', value: 'value'}]
# Удаление
Json::make('Product Options', 'options') ->keyValue('Characteristics', 'Value') ->removable()
# Только значение
Иногда требуется сохранять в базе данных только значения,
для этого можно воспользоваться методом onlyValue()
.
Json::make('Product Options', 'options') ->onlyValue()