public function whereDoesntHaveProductablesNotBuyableByUser(?User $user = null): Builder
    {
        $user = $user ?? Auth::user();
        return $this->whereDoesntHave('productables', fn (Builder $query) => $query->whereHas('productable', function (Builder $subquery) use ($user) {
            // We need to change queried model to the one that implements Productable class and has NotBuyableByUser scope method