我有一个对象Tournament和两个关系:
- 锦标赛属于用户(创建它的管理员)
- 锦标赛有许多用户(竞争者)
我可以通过他的角色(管理员、竞争对手)区分一个和另一个
我可以这样做吗?还是应该感到矛盾???如果没有,我该怎么做???
您可以这样做-您只需要为Tournament对象定义2个关系,例如:
class Tournament extends Model {
public function admin() {
return $this->belongsTo(User::class, 'admin_id');
}
public function competitors() {
return $this->belongsToMany(User::class);
}
}
您的锦标赛管理员关系密钥现在将存储在比赛表的admin_id字段中,而赛事竞争对手映射将存储在user_turnance表格中-确保您有一个。
你可以在这里阅读更多关于多对多关系的操作:http://laravel.com/docs/5.1/eloquent-relationships#many-到许多