title: Silverstripe - filter DataObject list by many many relationship
body: <p>I have an Object that extends Page ("Thing") which has a many_many relationship with a DataObject ("Tag").</p>
  
  <pre><code>class Thing extends Page
  {
      static $many_many = array(
          'Tags' =&gt; 'Tag'
      );
  }
  
  class Tag extends DataObject
  {
      static $belongs_many_many = array(
          'Things' =&gt; 'Thing'
      );
  }
  </code></pre>
  
  <p>I have an array of Tag IDs and I want to get a list of Things that have all of these tags attached.</p>
  
  <p>The following should be possible...</p>
  
  <pre><code>$tag_ids = array(1,2,3,4);
  $things = Thing::get();
  $things-&gt;filter('Tags.ID', array($tag_ids));
  </code></pre>
  
  <p>...but this just returns an unfiltered list. Apparently this hasn't been implemented for relationships yet. So how can I do it?</p>