Laravel 5.2:关系 - 请指教

时间:2016-07-30 11:36:52

标签: laravel-5.2

用户模型

| Field           | Type          
+-----------------+-----------------
id              | int(10) unsigned | NO  
name            | varchar(255)     | NO  
email           | varchar(255)     | NO                         

分会模特

 Field      | Type             | Null | Key | Default           | Extra |
+------------+------------------+------+-----+-------------------+-------+
| id         | int(10) unsigned | NO   |     | NULL              |       |
| user_id    | int(10) unsigned | NO   |     | NULL              |       |
| name       | varchar(255)     | NO   |     | NULL              |       |

分会会员模特

+------------+------------------+------
Field      | Type             
id         | int(11)          
club_id    | int(10)           
user_id    | int(10)
status     | varchar(20)   

如何使用laravel建立关系? 我认为用户有很多俱乐部。

用户模型

中的

`public function clubs()
{
    return $this->hasMany('App\Club');
}`

俱乐部有很多成员(用户)。我创建了ClubMember模型

如何在clubMember模型中声明关系?和**俱乐部会员属于俱乐部和用户**

1 个答案:

答案 0 :(得分:0)

看起来和我有多对多的关系。您的"俱乐部会员模型" table是数据透视表。

您可以将此关系添加到您的用户模型:

public function clubs()
{
    return $this->belongsToMany('App\Club', 'PIVOT TABLE NAME');
}

这是你的俱乐部模特:

public function users()
{
    return $this->belongsToMany('App\User', 'PIVOT TABLE NAME');
}

将PIVOT TABLE NAME更改为您的表名称。 Laravel假设它被命名为" club_user"。如果你这样命名,你就不需要添加第二个参数。

查看Laravel文档,了解有关多对多关系的更多信息。