public function scopeWithoutWidgets(Builder $query, $widgets, string $column = 'id'): Builder
    {
        $widgets = static::isWidgetsStringBased($widgets)
            ? $widgets : static::hydrateWidgets($widgets)->pluck($column);

        return $query->whereDoesntHave('widgets', function (Builder $query) use ($widgets, $column) {
            $query->whereIn($column, (array) $widgets);
        });
    }