public function beforeDelete($event)
{
$relation = $this->owner->getRelation($this->relation);
$pivot = $relation->via->from[0];
/** @var ActiveRecord $class */
$class = $relation->modelClass;
$query = new Query();
$pks = $query->select(current($relation->link))->from($pivot)->where([key($relation->via->link) => $this->owner->getPrimaryKey()])->column($this->owner->getDb());
if (!empty($pks)) {
$class::updateAllCounters([$this->frequency => -1], ['in', $class::primaryKey(), $pks]);
}
$this->owner->getDb()->createCommand()->delete($pivot, [key($relation->via->link) => $this->owner->getPrimaryKey()])->execute();
}