我有一个模型阿尔法,其中有很多模型测试其中有许多模型查理 我不想从一个阿尔法至少有一个查理所有的测试版。Laravel雄辩 - 关系是否有关系?
所以我的猜测是:
$alpha = Alpha::first();
$betasWithACharlie = $alpha->betas()->has('charlies')->get();
但是,这是行不通的。 我也试过用“whereHas”失败。
我有一个模型阿尔法,其中有很多模型测试其中有许多模型查理 我不想从一个阿尔法至少有一个查理所有的测试版。Laravel雄辩 - 关系是否有关系?
所以我的猜测是:
$alpha = Alpha::first();
$betasWithACharlie = $alpha->betas()->has('charlies')->get();
但是,这是行不通的。 我也试过用“whereHas”失败。
简单:
$betasWithACharlie = $alpha->betas()->has('charlies', '>', 1)->get();
或者你可以检索“霹雳”,只有当他们符合一定的条件更高级的查询
$betasWithACharlie = $alpha->betas()->whereHas('charlies', function($query){
$query->where('condition');
})->get();
我有一个思想,我不前测试:
$betasWithACharlie = $alpha->betas()->whereHas('charlies', function ($query) {
$query->where('beta_id', '!=', 0);
})->get();
并尝试另一个问题:
$betasWithACharlie = Alpha::whereHas('betas', function ($query) {
$query->has('charlies');
});
只是一个提示:先在一些sql客户端(如dbeaver或heidiSQL)中先写正常查询。接下来尝试将所述查询翻译成Eloquent。 –
您是否正确配置了您的模型? FK应该在这个地方工作。祝你好运! – bwaaaaaa