Laravel 一对多逆

Laravel 一对多逆,laravel,eloquent,Laravel,Eloquent,我想为一个用户获得他的国家。所以我有两张桌子: 用户 身份证 国家识别号 国家 身份证 我无法决定使用哪种关系。我认为这是OneToMany关系(逆),但它意味着Countries表具有用户id。 我不明白在这种情况下如何使用oneToMany关系…文档链接: 一对多(逆) 既然我们可以访问帖子的所有评论,那么让我们定义一个关系,允许评论访问其父帖子。要定义hasMany关系的倒数,请在子模型上定义一个关系函数,该函数调用belongsTo方法: 您需要在用户模型上创建belongsTo

我想为一个用户获得他的国家。所以我有两张桌子:

用户

  • 身份证
  • 国家识别号
国家

  • 身份证
我无法决定使用哪种关系。我认为这是OneToMany关系(逆),但它意味着Countries表具有用户id。 我不明白在这种情况下如何使用oneToMany关系…

文档链接:

一对多(逆)

既然我们可以访问帖子的所有评论,那么让我们定义一个关系,允许评论访问其父帖子。要定义hasMany关系的倒数,请在子模型上定义一个关系函数,该函数调用belongsTo方法:

您需要在用户模型上创建belongsTo关系

class User extends Model
{

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

我认为
hasOne
与OneToMany一样,hasOne意味着用户id在国家/地区模型中,对吗?
users
表上应该有一个
Country\u id
,因此您可以为每个
国家/地区指定多个
用户。如果您在
国家/地区
表中设置了
用户id
,则将其设置为
国家/地区
只能有一个
用户
。这使得国家变得相当孤独,是吗?是的,目前正是这种情况,表格用户有一个国家id字段,因此一个国家可以有多个用户,而一个用户只能有一个国家。太棒了。那么这里的问题是什么?你只是不确定如何定义关系?澄清一下,我不认为这是一个可以使用的问题;唯一的另一个实际选择是允许
用户
属于多个
国家
国家
拥有多个
用户
,但这需要
轴心
多对多
逻辑。