Laravel 5.3关系问题

时间:2016-11-13 17:28:24

标签: php mysql laravel

servers

每个游戏都有一个服务器,每个服务器都有一个区域。 我试图获得所有游戏,服务器及其区域:game = Game :: with(' regions',' regions.servers') - > find( $ ID);

我收到错误消息:找不到基表或视图:1146表' region_server'不存在(SQL:选择region_server。*,region_idpivot_region_idregion_serverserver_idpivot_server_id为{{ 1}}来自servers上的region_server内部加入serversid = region_serverserver_id其中region_server。{{1在(4,5)中

我做错了什么? 谢谢!

1 个答案:

答案 0 :(得分:3)

你的人际关系似乎被破坏了,你应该这样做:

class Game extends Model
{
    public function regions() {
        return $this->hasMany('Region');
    }
    public function servers() {
        return $this->hasMany('Server');
    }
}

class Region extends Model
{
    public function servers() {
      return $this->hasMany('Server');
    }
}

class Server extends Model
{
    public function region() {
        return $this->belongsTo('Region');
    }
}

根据上述关系,

  • 每个游戏都有很多服务器。
  • 每个服务器属于一个区域
  • 每个地区都有许多服务器

希望这有帮助