如何在 Laravel 中加载嵌套关系

3 php model relationships laravel

我有一个名为 CallbackRequest 的模型,该模型与 Loan 模型有关系,这是 CallbackRequest 模型的唯一关系。

回调模型:

public function loan() {

    return $this->belongsTo(Loan::class);
}
Run Code Online (Sandbox Code Playgroud)

现在贷款模型本身与称为申请人的第三个模型有关系。

贷款模式:

public function applicant() {

    return $this->belongsTo(Applicant::class);
} 
Run Code Online (Sandbox Code Playgroud)

我的观点:

当我加载 CallbackRequest 时,我会用它预先加载贷款模型,一切都很好!但是现在我想知道是否有办法在我这样做时预先加载申请人模型:

现在我像这样访问它:

$modelResults = PublicCallback::with('loan')->get();
Run Code Online (Sandbox Code Playgroud)

我收到了所有已加载贷款的回调,但我的观点是,在这种情况下,我希望在加载贷款时我也希望申请者加载!

有什么办法可以做到这一点,可能吗?

Lae*_*rte 7

你可以这样做:

$modelResults = PublicCallback::with(['loan', 'loan.applicant'])->get();
Run Code Online (Sandbox Code Playgroud)

参考:https : //laravel.com/docs/5.5/eloquent-relationships#eager-loading