我有一個模型阿爾法,其中有很多模型測試其中有許多模型查理 我不想從一個阿爾法至少有一個查理所有的測試版。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