laravel如何在JSON数据库字段中存储具有NULL值的密钥?

时间:2019-01-16 09:19:20

标签: php json ajax laravel eloquent

想象一下:

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

所有这些字段都以JSON的形式存储在DB的on列中。

我使用Laravel $casts将此字段作为数组进行了介绍:

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

现在问题是所有bank[]的文件都是nullable,当用户未填写其中的任何内容时,DB中没有存储任何内容,当我尝试向用户显示存储的价值时,我得到了{{1 }}错误。

我需要像这样的Undefined index在数据库中存储EmptyNULL输入字段。在这种情况下,应该是这样的:

"Key":NULL

我使用Laravel 5.7Form Request Validation处理表单。

1 个答案:

答案 0 :(得分:0)

解决方案:
只需使用此中间件

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

注意:此中间件是默认的laravel中间件之一。您无需执行任何操作即可使用此功能。 我不知道为什么一开始它不起作用,但是过了一会儿却没有改变任何东西!!!