0
我试图围绕我在Sentry中的权限和数组。当我对它们进行硬编码时,我已经让它们工作,这很容易,但是从表单中分配它们证明是非常令人沮丧的。这里是处理它的函数:Laravel/Sentry从表格中分配组权限
public function postGroup(){
$name = Input::get('name');
$inputs = Input::except('name');
$permissions = array("self.view" => 1, "self.update" => 1);
foreach($inputs as $key => $value)
{
$raw_name = $key;
$name = str_replace('_', '.', $raw_name);
array_push($permissions, array($name => 1)); // The issue is here.
}
...
基本上,我们现在有一个数组$permissions
与[user.create] => 1, [user.view] => 1
等等等等从形式传递每个权限。接下来,使用Sentry::createGroup
我需要根据此数组设置权限。
//Create the group
$group = Sentry::createGroup(array(
'name' => $name,
'permissions' => $permissions //Doesn't work.
));
当我检查我的数据库,我看到:
{"self.view":1,"self.update":1,"0":1,"1":1}
应该是这样的:
{"self.view":1,"self.update":1,"user.create":1,"user.view":1}
因此,我们可以看到那些self.*
做工精细,但因为我打电话给array_push($permissions, array($name => 1));
我在制作$permissions
是一个多维数组(因此我们为什么在数据库中看到"0":1
;它在看索引,但我不是100%确定如何解决这个问题...
因此,深入了解阵列处理和Sentry权限会很有帮助。在此期间我会继续尝试。
在此先感谢!