Пытаюсь создать рбак роли и разрешения.
Код: Выделить всё
public function actionInit()
{
$auth = Yii::$app->authManager;
$auth->removeAll();
$user = $auth->createRole('user');
$programmer = $auth->createRole('programmer');
$operator = $auth->createRole('operator');
$admin = $auth->createRole('admin');
$useProfile = $auth->createPermission('useProfile');
$useAdmin = $auth->createPermission('useAdmin');
$showModule = $auth->createPermission('showModule');
$showClients = $auth->createPermission('showClients');
//дескрипшены удалены сознательно
$auth->add($useProfile);
$auth->add($useAdmin);
$auth->add($showModule);
$auth->add($showClients);
$auth->addChild($user, $useProfile);
$auth->addChild($programmer, $user);
$auth->addChild($programmer, $useAdmin);
$auth->addChild($programmer, $showModule);
$auth->addChild($operator, $programmer);
$auth->addChild($operator, $showClients);
$auth->addChild($admin, $operator);
$auth->assign($admin, 1);
}
Код: Выделить всё
Exception 'yii\db\IntegrityException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign
key constraint fails (`parser`.`auth_item_child`, CONSTRAINT `auth_item_child_ibfk_1` FOREIGN KEY (`parent`) REFERENCES `auth_item` (`name`) ON DELE
TE CASCADE ON UPDATE CASCADE)
The SQL being executed was: INSERT INTO `auth_item_child` (`parent`, `child`) VALUES ('user', 'useProfile')'
in F:\OpenServer\domains\yii2-app-advanced\vendor\yiisoft\yii2\db\Schema.php:636
Error Info:
Array
(
[0] => 23000
[1] => 1452
[2] => Cannot add or update a child row: a foreign key constraint fails (`parser`.`auth_item_child`, CONSTRAINT `auth_item_child_ibfk_1` FOREIGN
KEY (`parent`) REFERENCES `auth_item` (`name`) ON DELETE CASCADE ON UPDATE CASCADE)
)