为什么模型中的$ this-> id返回null?

时间:2020-05-20 15:23:06

标签: laravel eloquent eloquent-relationship

我需要在Eloquent模型中获取模型ID。我正在尝试通过这种方式进行操作-$this->id在调用这种关系时

return $request->user()->load('myrelation');

但是以这种方式我总是得到null。但是,如果我将return $request->user()->myrelation();return $this->id一起使用,则会得到正确的模型ID。为什么会这样呢?

1 个答案:

答案 0 :(得分:1)

您正在使用哪种关系(一对一,一对多,多对多)?这是一对一用户/公司的示例:

在用户模型中:

public function company()
{
    return $this->belongsTo('App\Company');
}

您可以使用id获得公​​司$user->company->id。如果调用$user->company()->id,则会得到null,因为$user->company()返回关系,而不是模型。