title: Using limit() on contained model
body: <h1>The Code</h1>
  <p>Say I have two models, named <code>Product</code> and <code>Image</code>, which are linked by <code>Product hasMany Image</code> and <code>Image belongsTo Product</code>.</p>
  <p>Now, say I want to fetch all products with the first image each. I would use this code:</p>
  <pre><code>$this-&gt;Products-&gt;find('all')
      -&gt;contain([
          'Images' =&gt; function($q) {
              return $q
                  -&gt;order('created ASC')
                  -&gt;limit(1);
          }
      ]);
  </code></pre>
  <p>Looks about right, right? Except now only <strong>one</strong> of the products contains an image, although actually each product contains at least one image (if queried without the limit).</p>
  <h1>The resulting Queries</h1>
  <p>The problem seems to be with the limit, since this produces the following two queries (for example):</p>
  <pre><code>SELECT
      Products.id AS `Products__id`,
  FROM
      products Products
  </code></pre>
  <p>and</p>
  <pre><code>SELECT
      Images.id AS `Images__id`,
      Images.product_id AS `Images__product_id`,
      Images.created AS `Images__created`
  FROM
      images Images
  WHERE
      Images.product_id in (1,2,3,4,5)
  ORDER BY
      created ASC
  LIMIT 1
  </code></pre>
  <p>Looking at the second query, it is quite obvious how this will always result in only one image.</p>
  <h1>The Problem</h1>
  <p>However, I would have expected the Cake ORM to limit the images to 1 <strong>per product</strong> when I called <code>limit(1)</code>.</p>
  <p>My question: Is this an error in how I use the ORM? If so, how <strong>should</strong> I limit the number of images to <strong>one per image</strong>?</p>