hasOne关系中的空对象奇怪的行为

时间:2018-05-02 00:58:40

标签: php laravel

我正在尝试在resource中创建一个用户Laravel,其中用户object具有嵌套的登录object

我的用户class拥有这些attributes

protected $fillable = [
    'name', 'nickname', 'dob',
];

public function login(){
    return $this->hasOne(Login::class, 'id');
}

我的登录class是这样的:

protected $fillable = [
    'email', 'password',
];

protected $hidden = [
    'password',
];

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

这是我的UserController索引method

public function index()
{
    $usr= User::with('login')->get();

    return response()->json(['user' => $usr], 200);
}

使用具有登录功能的object可以很好地工作,但是,对于没有登录的用户,它会返回在登录表上插入最后一个登录名的用户。

为什么Laravel正在这样做?

1 个答案:

答案 0 :(得分:2)

你必须交换关系:

<div id="bigdisplay" onmouseover="test()">
test
</div>