/** * @param string $grantIdentifier * @param string $scope |null * @return boolean */ public function removeGrantScope($grantIdentifier, $scope = null) { $condition = ['grant_id' => $grantIdentifier]; if ($scope) { $condition['scope_id'] = $scope; } $scopes = GrantScopesModel::findAll($condition); $db = CommonModel::getDb(); $transaction = $db->beginTransaction(); try { foreach ($scopes as $scope) { $scope->delete(); } $transaction->commit(); return true; } catch (\Exception $e) { $transaction->rollBack(); return false; } }
/** * @param $grantId * @param ActiveQuery|null $query * @return ActiveQuery */ public static function findByGrantId($grantId, ActiveQuery $query = null) { $query = $query ?: static::find(); return $query->andWhere(['id' => GrantScopesModel::findByGrantId($grantId)->select(['scope_id'])]); }