title: WhereHas() / orWhereHas not constraining the query as expected
body: <p>I am using the new <code>whereHas</code> method to add a constraint on an eager loaded relationship in Laravel 4.1.</p>
  <pre><code>$broadcast = $broadcast-&gt;whereHas('season', function ($query) use ($parameterValues) {
      $query-&gt;where('name', '2011-12');
  });
  </code></pre>
  <p>In this example, I'm searching for a football/soccer broadcast where the relationship is that a <code>Broadcast</code> <code>belongsTo</code> a <code>Season</code></p>
  <p>I want to add a constraint for team (club) where the relationship is that a <code>Broadcast</code> <code>hasOne</code> <code>homeClub</code> and a <code>Broadcast</code> <code>hasOne</code> <code>awayClub</code>. I want results for where a team (liverpool) is either the home or the away club so I try to use the <code>orWhereHas</code> - <a href="http://laravel.com/api/4.1/Illuminate/Database/Eloquent/Builder.html#method_orWhereHas" rel="noreferrer">a featured added in L4.1</a></p>
  <pre><code>$broadcast = $broadcast
      -&gt;with('homeClub')
      -&gt;whereHas('homeClub', function($query) use ($parameterValues) {
           $query-&gt;where('abb', $parameterValues['club_abbs']);
       });
  $broadcast = $broadcast
      -&gt;with('awayClub')
      -&gt;orWhereHas('awayClub', function($query) use ($parameterValues) {
          $query-&gt;where('abb', $parameterValues['club_abbs'] );
      });
  </code></pre>
  <p>But this just seems to cancel out the constraint on the season that's mentioned in my first example. It's like, by chaining the the <code>orWhereHas</code>, my <code>where</code> methods have 'forgotten' what they were constraining.</p>