public function saveUserRole($user_id) { $role = CRequest::param("role"); $role_ids = []; if (!empty($role)) { //var_dump($role); $innerTransaction = Yii::$app->db->beginTransaction(); try { foreach ($role as $k => $role_id) { $one = AdminUserRole::findOne(['role_id' => $role_id, 'user_id' => $user_id]); $role_ids[] = $role_id; if (!$one['id']) { $one = new AdminUserRole(); $one->role_id = $role_id; $one->user_id = $user_id; $one->save(); } } $table = AdminUserRole::tableName(); if (!empty($role_ids)) { $role_str = implode(",", $role_ids); $sql = "delete from {$table} where user_id = {$user_id} and role_id not in ({$role_str})"; } else { $innerTransaction->rollBack(); echo json_encode(["statusCode" => "300", "message" => "您至少要勾选一个用户权限组"]); exit; } CDB::deleteBySql($sql); $innerTransaction->commit(); } catch (Exception $e) { $innerTransaction->rollBack(); echo json_encode(["statusCode" => "300", "message" => 'Save User Role Fail !']); exit; } } else { echo json_encode(["statusCode" => "300", "message" => "您至少要勾选一个用户权限组"]); exit; } }