如何建立从 Table A 到 table C 的关系,其中 A 与 B 相关,B 与 LARAVEL 中的 C 相关

How can I make a relation from Table A to table C where A related to B and B is related to C in LARAVEL

当我执行以下操作时,如何才能显示来自 "set Penalties" Table 的信息:$loanApplication->duration->setPenalties->penalty?

贷款申请模型:

public function loanDuration()
{
    return $this->hasOne('App\LoanDuration', 'id','loan_duration_id');
}

贷款期限模型:

public function loanApplications()
{
    return $this->hasMany(LoanApplication::class);
}    

你快到了。 $loadApplication->loadDuration 应该已经为您提供了来自 loan_durations table 的信息。

在您的 LoanDuration 模型中,您应该添加一个新的关系方法,如下所示:

public function setPenalties(): BelongsTo
{
    return $this->belongsTo(<Your penalty model>);
}  

这将允许您从 LoadDuration 中检索惩罚: $loadDuration->setPenalties;

或者对于完整示例,结果将是 setPenalties 的集合:

$loanApplication->loadDuration->setPenalties

您可能不会从 setPenalties 中获得任何结果。这是因为数据库中相关列名的名称。您可以将列 duration_id 的名称更改为 loan_duration_id 或在 $this->belongsTo(<Your penalty model>, 'duration_id')

中指定 duration_id