我有一个型号Alpha,它有很多型号Beta,有许多型号Charlie 我不是所有来自一个至少有一个查理的阿尔法的测试版。
所以我的猜测是:
$alpha = Alpha::first();
$betasWithACharlie = $alpha->betas()->has('charlies')->get();
但这不起作用。 我也试过“whereHas”失败了。
答案 0 :(得分:2)
简单地:
$betasWithACharlie = $alpha->betas()->has('charlies', '>', 1)->get();
或者你可以检索“查理”'只有当他们满足更高级查询的特定条件时
$betasWithACharlie = $alpha->betas()->whereHas('charlies', function($query){
$query->where('condition');
})->get();
答案 1 :(得分:0)
我有一个想法,我以前没有测试过:
$betasWithACharlie = $alpha->betas()->whereHas('charlies', function ($query) {
$query->where('beta_id', '!=', 0);
})->get();
尝试另一个:
$betasWithACharlie = Alpha::whereHas('betas', function ($query) {
$query->has('charlies');
});