首页 > 解决方案 > 关系的 Laravel 魔术方法返回错误的相关模型

问题描述

在我的系统中,我有 Role::class:

{id: 1, name: "admin"}
{id: 2, name: "user"}

与 User:class 的关系:

public function role()
{
 return $this->belongsTo(Role::class);
}

有问题的用户有一个外键 role_id = 2。

问题是当我写:

Auth::user()->role

我得到 id 为 1(管理员)的角色模型,但是当我写时:

Auth::user()->role()->first()

我得到了正确的结果 - id 为 2(用户)

标签: laraveleloquent

解决方案


怎么办?

Auth::user()->role()->first()->id

虽然最好在这个上使用急切负载,但这应该可以。


推荐阅读