我有两个控制器和模型:
$this->hasMany(Hero::Class);)$this->belongsTo(User::class);)每个用户都可以拥有多个英雄。
这意味着USER ID: 1可能有三个英雄:HERO ID 5, 20, 26.。
我的问题是:如何定义这样的关系,让laravel知道如何处理我的user_heroes表?下面的图片描述了我所说的这种关系:

如何在我的拉拉API中建立这样的关系?
发布于 2016-04-16 15:41:50
如果一个用户可以拥有许多英雄,而一个英雄也可以属于许多用户,那么它就是一个多到多的关系。在Laravel中,多对多关系的反比也是多对多关系,它们都是由belongsToMany()描述的。
https://laravel.com/docs/5.2/eloquent-relationships#many-to-many
所以在您的用户模型中:
public function heros() {
return $this->belongsToMany(Hero::class);
}在你的英雄模型中:
public function users() {
return $this->belongsToMany(User::class);
}Laravel将假定连接表名为hero_user,两个模型名称,单数,按字母顺序连接。如果您想像在映像中一样使用user_heroes,则需要指定它:
return $this->belongsToMany(Hero::class, 'user_heroes');(在两种模型方法中)。
https://stackoverflow.com/questions/36665432
复制相似问题