首页 > 解决方案 > 如何在 Laravel 5.7 中反转这种关系

问题描述

我是 laravel 的新手,我试图扭转以下关系,所以这是我的问题,基本上我已经创建了两个模型 Country 和 Contact

所以在这里我要做的是在联系人模型中创建一个函数,以便我可以根据用户 ID 获取国家/地区,这是我的联系人模型

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

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

  }

所以现在我想扭转这种关系,即我想获得用户信息。到国家

这是我到目前为止所做的:

Route::get('/', function () {
$c = Country::all();
 return $c;
 });  

标签: phplaravel

解决方案


假设你想要一个一对多的关系,Laravel 文档说你需要一个hasMany关系,所以你想要做的是添加

public function contacts() {
    return $this->hasMany('App\Contact');
}

到您的 Country 模型,然后您可以使用$contacts = $c->contacts.

如果您想要一个一对一的关系,您必须更改hasManyhasOne,并为清楚起见将函数名称从 更改function contacts()function contact()


推荐阅读