laravel一对一的关系:交换方法

时间:2016-07-26 08:37:05

标签: php laravel eloquent

我看了一下雄辩的关系https://laravel.com/docs/5.2/eloquent-relationships#one-to-one

我的问题是:切换hasOne和belongsTo有什么区别吗?

Laravel Docs:

public function phone()
{
    return $this->hasOne('App\Phone');
}

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

可以交换方法,如:

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

public function user()
{
    return $this->hasOne('App\User');
}

1 个答案:

答案 0 :(得分:1)

不,你不能简单地交换,看看外键所在的模型,在你的情况下手机属于用户,所以在你的手机表中,用户ID应该在那里,所以你的关系必须是这样的

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

public function user()
{
    return $this->hasOne('App\Phone');
}