如何使用Laravel更新和删除MySQL JSON类型字段或arraylist

时间:2018-06-04 20:54:41

标签: arrays laravel laravel-5.6

我正在处理用户角色和权限,在我的数据库中,每个角色都有权限列表。权限字段是JSON类型,它在角色模型中转换为数组。

但我的问题是我无法使用Laravel Eloquent插入,更新和删除操作。

这是我的代码示例。

<tr>
    <td></td> 
    @foreach($role->permissions as $key=>$value)
    <td><input type="checkbox" name="permisssions[{{$key}}]" value="{{$value}}" {{ $value==1 ? 'checked' : '' }}></td>
    @endforeach
</tr>

当我使用$request->all()时,它会显示所有数据。

{
"_method": "PUT",
"_token": "gPtYT0Qj7LtG5MNTMvtn5qZGofIxfkAyhpyhV5qP",
"role": "User",
"permisssions": {
"read": "1",
"create": "1"
}
}

但是当我使用$request->permissions时,它什么也没有显示。

这是我的控制器。

public function role_permissions_update(Request $request, $id)
{
    return $request->permissions;
}

我该如何克服这个问题?

1 个答案:

答案 0 :(得分:0)

$request->all()的输出显示您拼错了“权限”作为“permisssions”(三个S)。

您需要使用$request->permisssions或更新创建请求的代码。