title: first() and take() do not work correctly in Eager Load laravel
body: <p>I have a Post Model that have a <strong>hasMany</strong> relation to <strong>post_pics</strong> and belongsToMany relation to <strong>Category</strong> Model.  </p>
  
  <p>I want to fetch All Posts and All their Categories but First post_pics of each Post.  </p>
  
  <p>For that I write this Eager Load Constraints :  </p>
  
  <pre><code>Post::with([
                  'post_pics'  =&gt; function ($query) {
                      $query-&gt;select(['pic_id', 'pic_name', 'post_id'])-&gt;first()-&gt;get();
                  },
                  'categories' =&gt; function ($query) {
                      $query-&gt;select(['categories.cat_id', 'name']);
                  }
              ])
                  -&gt;take(12)-&gt;orderBy('created_at', 'desc')
                  -&gt;get(['post_id', 'post_title', 'post_alias', 'post_content', 'comments_count', 'created_at']);
  
          return $latestPosts;
  </code></pre>
  
  <p>When I remove <strong>first()</strong> method after <strong>select()</strong> method all things works and returns  all pictures of each Post but when I use <strong>first()</strong> method, only returns first picture of Models that have more than one picture.</p>
  
  <p>I try to <strong>take(1)</strong> Constraints but it does not work too.</p>
  
  <p>What is Problem and How Can I do that?</p>