反向关系使用Eloquent返回null

时间:2015-11-09 09:07:39

标签: laravel laravel-5 eloquent

我有一个简单的一对多关系,其中一种身份验证类型有许多客户端:

 if(a.matches(regex1) && a.matches(regex2));

所以我想要的是,当$ client已知时,访问身份验证的名称。

class Client extends Model {

    protected $table = 'client';
    protected $primaryKey = 'client_id';

    protected $fillable = [
        'client_id',
        'auth_type_id',

    ];

    public function auth()
    {
        return $this->belongsTo('App\AuthType', 'foreign_key', 'id');
    }
}

class AuthType extends Model {

    protected $table = 'authType';
    protected $primaryKey = 'id';

    protected $fillable = [
        'id',
        'name'
    ];

    public function users()
    {
        return $this->hasMany('App\User', 'foreign_key', 'auth_type_id');
    }


}

我得到了:

 $authType = $client->auth();
 $authType->name;

如果我有客户端,如何访问Auth的name属性?

1 个答案:

答案 0 :(得分:0)

如果你想获得关系结果,你必须使用

$authType = $client->auth;

如果您使用$client->auth(),则会获得BelongsTo关系。