Laravel关系似乎不起作用

问题描述 投票:0回答:1

我有一个新项目,想建立一些关系。但是,我似乎无法使其正常工作。

我有一个COMPANY模型

public function owner() 
{
    $this->belongsTo('App\User', 'id', 'owner_id');
}

然后是带有USER的模型

public function owns()
{
    return $this->hasMany('App\Company', 'owner_id', 'id');
}

当我获得用户或公司对象时,该关系不显示。我在做什么错?

laravel eloquent relation
1个回答
0
投票

尝试执行此操作可以避免许多参数出现问题。

...
public function owner() 
{
    return $this->belongsTo('App\User', 'owner_id');
}
...

...
public function owns()
{
    return $this->hasMany('App\Company', 'owner_id');
}
...

当您尝试访问$some_user->owns时输出是什么?您可以使用php artisan tinker测试您的关系,然后可以像这样查找用户拥有的用户之一:

$u = User::find(1)$u->owns

如果返回数组,则关系很好。


0
投票

您在Company模型中的所有者关系上缺少返回

// App\Company
public function owner() 
{
    return $this->belongsTo('App\User', 'owner_id');
}

// App\User
public function owns()
{
    return $this->hasMany('App\Company', 'owner_id');
}
© www.soinside.com 2019 - 2024. All rights reserved.