Show only products in stock - one variant only In Craft Commerce, how can I show only products that are in stock when not using variants?

For example, this query, but only show products with a stock with 1 or more:

{% set productQuery = craft.products()
        .relatedTo(block.relation)
        .availableForPurchase()
        .order('postDate desc')
        .limit(4) %}

    {% set products = productQuery.all() %}

    {% for product in products %}
      {% include "_components/product-blurb.html" %}
    {% endfor %}
You're always using variants. Just that if you have no 'other' variants commerce hides that stuff away. But your product has a defaultVariant behind the scenes.

Adding…

.hasVariant({ hasStock: true })


…to your query should (I think) return your products that have ([hidden] variants in) stock.