identifiers() as $column => $value) { $query->where($query->getModel()->qualifyColumn($column), $value); } }); static::saving(function (Model $model): void { foreach (app(CompanyContext::class)->identifiers() as $column => $value) { if ($model->getAttribute($column) !== null && (int) $model->getAttribute($column) !== $value) { throw new AccessDeniedHttpException('Contexto de empresa incompatível.'); } $model->setAttribute($column, $value); } }); static::deleting(function (Model $model): void { foreach (app(CompanyContext::class)->identifiers() as $column => $value) { if ((int) $model->getAttribute($column) !== $value) { throw new AccessDeniedHttpException('Contexto de empresa incompatível.'); } } }); } }