AuthPermModel::className(), 'name' => $item['name'], 'parent_id' => $item['parent_id'], 'level' => $item['level'], 'desc' => $item['desc'], ]; $model = Yii::createObject($arr); $model->save(); return $model; } /** * @param $condition * @return bool|int */ static function deleteAll($condition) { if (empty($condition)) { return false; } return AuthPermModel::deleteAll($condition); } /** * @param $item * @param $routers * @return array|null * @throws \yii\base\InvalidConfigException */ static function createWithRouters($item, $routers) { if (empty($item) || empty($routers)) { return null; } $arr = [ 'class' => AuthPermModel::className(), 'name' => $item['name'], 'parent_id' => $item['parent_id'], 'level' => $item['level'], 'desc' => $item['desc'], ]; $model = Yii::createObject($arr); $routerArr = []; if ($model->save()) { foreach ($routers as $k => $v) { $tmpArr = [ 'class' => AuthPermsRoutesModel::className(), 'perm_id' => $model->perm_id, 'route' => $v, ]; $routerModel = Yii::createObject($tmpArr); $routerModel->save(); $routerArr[] = $routerModel; } return [$model, $routerArr]; } return null; } /** * @param $permId * @param $router * @return bool|object * @throws \yii\base\InvalidConfigException */ static function createRouter($permId, $router) { if (empty($permId) || empty($router)) { return false; } $modelArr = [ 'class' => AuthPermsRoutesModel::className(), 'perm_id' => $permId, 'route' => $router, ]; $routerModel = Yii::createObject($modelArr); $routerModel->save(); return $routerModel; } /** * @param $permId * @return int */ static function deletePermRouters($permId) { return AuthPermsRoutesModel::deleteAll(['perm_id' => $permId]); } }