在使用laravel 4之前,将验证项目转换为数组



我已经在Laravel 4中使用用户自定义许可,登录权限(JSON字符串(存储在 Auth::user()->permissions. 中,如下:

$permissions =array(101,102);
DB::table('user')->where('id', Auth::user()->id)->update(['permissions' => json_encode($permissions)]);

但是,当我每次需要将其解码为array时检查权限时:

if(in_array(1000, json_decode(Auth::user()->permissions)){
}

,但我想要一些使它能够像以下内容一样工作的东西:

if(in_array(1000, Auth::user()->usr_rights){
} 

您可以在模型中添加访问者:

public function getPermissionsAttribute($value)
{
    return json_decode($value);
}

您要做的就是这样:

if(in_array(1000, Auth::user()->permissions){
}

您可以使用爆破

这不是最好的方法,但有效。

示例:

$array = array('lastname', 'email', 'phone');

comma_separated = implode(",", $array);

echo $comma_separated; // lastname,email,phone

u可以将此字符串保存在用户表中的附加行中。

,然后用爆炸

将其转换回

$pizza = "piece1, piece2, piece3, piece4, piece5, piece6";

$pieces = explode(",", $pizza);

echo $pieces[0]; // piece1

echo $pieces[1]; // piece2

相关内容

  • 没有找到相关文章

最新更新