我已经在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