Check to see if category is populated? I want to list all categories that have an entry assigned to them, but hide the ones that are empty.

In EE I could do this show_empty="no"

But I can't see a parameter in the docs for Craft.

Currently I've found that I could use relatedTo but with passing an object with up to 600 entries it dies with caching tags :(

Is there a better way of doing this? This is what I've got at the moment:

{% set blogPosts = craft.entries({section:'blog',limit:null}).find() %}

{% for cat in craft.categories({groupId:2}).relatedTo(blogPosts) %}
   &lt;li&gt;&lt;a href="/blog/{{cat.slug}}"&gt;{{cat.title}}&lt;/a&gt; &lt;/li&gt;
{% endfor %}
There is a great tutorial over at Straight Up Craft for handling this (it is however very similar to what you have - it may speed things up a tad though).


  First, we want to grab all of the entry ids from the Section of
  content which we want to display categories for.
  
  {% set entryIds = craft.entries.section('blog').ids() %}
  
  Next, we will use the craft.categories tags relatedTo() method to only
  return categories that have a relationship with one of our entry ids.
  
  {% set categories = craft.categories.relatedTo({ sourceElement:
  entryIds }).groupId(1).find() %}
  
  Once we have our list of categories that are in use, we can loop
  through those categories and display them in our template:

{% for category in categories %}
    &lt;li&gt;&lt;a href="{{ category.url }}"&gt;{{ category.title }}&lt;/a&gt;&lt;/li&gt;
{% endfor %}