Как сохранить ключ со значением NULL в поле базы данных JSON от laravel? - PullRequest
0 голосов
/ 16 января 2019

Представьте себе это:

<input name="bank[account]">
<input name="bank[name]">
<input name="bank[status]">

Все эти поля хранятся в столбце в БД как JSON.

Я использовал Laravel $casts, чтобы представить это поле в виде массива:

protected $casts = [
    'bank' => 'array',
]

Теперь проблема в том, что bank[] подано nullable, и когда пользователь не заполнил часть этого, ничего не сохраняется в БД, и когда я пытаюсь показать сохраненное значение пользователям, я получаю Undefined index ошибку.

Мне нужно хранить Empty или NULL поля ввода в БД, как это "Key":NULL. в этом случае это должно быть так:

{"name":NULL,"account":NULL,"status":NULL}

Я использую Laravel 5.7 и Проверка запроса формы для обработки моих форм.

1 Ответ

0 голосов
/ 16 января 2019

Решение:
Просто используя это промежуточное ПО

\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,

примечание: это промежуточное ПО является одним из промежуточных ПО по умолчанию. Вам не нужно ничего делать, чтобы использовать это. Я не знаю, почему сначала это не работает, но работает через некоторое время, ничего не меняя !!!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...