Laravel将DB字段设置为空数组

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel将DB字段设置为空数组相关的知识,希望对你有一定的参考价值。

我的DB表中有一个字段,我用json_encode把它设置为一个数组。这个字段叫做category,我在这里输入了一本书的一个或多个类别。如下所示。

$book->categories = json_encode($request->input('categories'));

现在我的问题是,当我试图用一个空数组更新类别时,我得到一个错误。我试着将默认值设置为空,然后在请求中直接传递空值

$book->categories = null;

但这并没有改变DB中的任何内容。我怎样才能用一个空数组更新这个字段?

答案

请试一下。

if($request->input('categories')==null)
$book->categories=[];
else
book->categories = json_encode($request->input('categories'));

以上是关于Laravel将DB字段设置为空数组的主要内容,如果未能解决你的问题,请参考以下文章

在 laravel 迁移中设置默认的空数组

对 laravel 的查询以从“已填充”且不为空的 db 行中获取百分比

Laravel/Eloquent/DB 查询 - 当为空且不为空时加入

Laravel 8 all() 函数不会将 db 值映射到模型属性

spark 2 自定义数据源 - 如何将数组列设置为空?

arcgis10 如何设置字段可以为空