如何在Laravel中通过外键检索数据?

时间:2019-04-14 11:42:39

标签: php laravel laravel-5 eloquent

如何在Laravel中检索数据。

我有一个表用户,其中有一个字段 parent_id ,其中我显示了其 user_id的信息。

现在我想显示登录用户的信息

我尝试过

 {{Auth::user()->parent_id}}

我得到了选定的parent_id,现在我想要那个user_id的名称。

我正在尝试

{{(Auth::user()->parent_id)->value('name')}}

出现错误。 请告诉我如何在我的代码中编写此代码以获得该父ID的名称。

2 个答案:

答案 0 :(得分:3)

User模式中定义与父级用户的关系。

用户模式

public function parent()
{
    return $this->belongsTo(User::class, 'parent_id');
}

刀片

{{ Auth::user()->parent->name }}

答案 1 :(得分:1)

(至少)有两种方法可以做到这一点。

1-没有关系:您可以通过parent_id选择/查找用户并获取其名称。像这样:

{{ App\User::find(Auth::user()->parent_id)->name }}

2-与关系:我认为这更容易。定义关系并将parent_id设置为外键。然后,您可以获取父用户。像这样:

{{ Auth::user()->parentUser->name }} // parentUser is the method created in User model 

要定义和使用这种关系,请参见@Tharaka Dilshan答案。