Laravel在用户登录时将用户数据发送到会话之前对其进行操作



我实际上正在创建一个管理面板,我的所有用户在DB上都有一列"权限",该列以TEXT格式存储JSON表。实际上,当用户在该列中的日志存储在会话的"permissions"变量中时,但在TEXT中,我需要将其解析为json,以便在存储之前生成一个对象。有人知道我该怎么做吗?

您可以使用json_decode:解码JSON

$permissions = json_decode($user->permissions);

不过,如果您使用Eloquent Model的,我会将此字段强制转换为数组,以便它为您处理JSON的编码和解码:

protected $casts = [
'permissions' => 'array',
];

现在,当您访问模型的permissions属性时,它将返回解码的数据:

$user->permissions;

最新更新