Php WhereHas()/orWhereHas未按预期约束查询

Php WhereHas()/orWhereHas未按预期约束查询,php,laravel,laravel-4,Php,Laravel,Laravel 4,我正在使用新的whereHas方法在Laravel4.1中添加一个对急切加载关系的约束 $broadcast = $broadcast->whereHas('season', function ($query) use ($parameterValues) { $query->where('name', '2011-12'); }); 在本例中,我正在搜索一个足球/足球广播,其中的关系是广播属于a季节 我想为团队(俱乐部)添加一个约束条件,其中关系是广播

我正在使用新的
whereHas
方法在Laravel4.1中添加一个对急切加载关系的约束

$broadcast = $broadcast->whereHas('season', function ($query) use ($parameterValues) {
    $query->where('name', '2011-12');
});
在本例中,我正在搜索一个足球/足球广播,其中的关系是
广播
属于
a
季节

我想为团队(俱乐部)添加一个约束条件,其中关系是
广播
家庭俱乐部
广播
hasOne
。我想知道一支球队(利物浦)是主场还是客场的结果,所以我尝试使用
或where has
-


但这似乎抵消了我在第一个例子中提到的对本赛季的限制。这就像,通过链接
或where has
,我的
where
方法“忘记”了它们所约束的内容。

我错误地使用了该方法。我首先加载了这两个关联,然后链接了
whereHas
或whereHas

$broadcast->with('homeClub');
$broadcast->with('awayClub');

$broadcast->whereHas('homeClub', function($query) use ($parameterValues) {
    $query->where('abb', 'liverpool');
})->orWhereHas('awayClub', function($query) use ($parameterValues) {
    $query->where('abb', 'liverpool');
});
$broadcast->with('homeClub');
$broadcast->with('awayClub');

$broadcast->whereHas('homeClub', function($query) use ($parameterValues) {
    $query->where('abb', 'liverpool');
})->orWhereHas('awayClub', function($query) use ($parameterValues) {
    $query->where('abb', 'liverpool');
});