Laravel 遇到 eloquent 问题

Laravel stuck with eloquent issue

我一直坚持这种 eloquent 关系有一段时间了。 (我正在使用 laravel 5.2)

一个用户可以有多个证书,每个证书都有一个飞机型号。但是,"blank" 证书可能没有飞机型号。

我的目标是调用$user->certificates,并检索具有相应机型的用户的所有证书。

我有以下型号。

    User
    id
    ...


    Aircrafttype
    id
    name 


    Certificate
    id 
    name


    CertificateUser 
    id
    certificate_id
    aircrafttype_id
    user_id

提前致谢!

您只需在 User 模型和 CertificateUser 模型之间添加关系。

听上去,一个用户可以拥有很多证书 - 所以您会想要使用 hasMany 关系。因为您在 CertificatUser table 中有一个名为 user_id 的列,所以您可以像这样简单地设置关系(在您的 User 模型中:

public function certificates()
    {
        return $this->hasMany('App\CertificateUser');
    }

您现在可以使用 $user->certificates;

通过 $user 对象访问它