Laravel 5与3个表的关系
我有三张桌子: 类别Laravel 5与3个表的关系,laravel,eloquent,Laravel,Eloquent,我有三张桌子: 类别 id | name ----------------------------------- 1 | Men >80kg ----------------------------------- 2 | Women >80kg ----------------------------------- 3 | Team Men &g
id | name
-----------------------------------
1 | Men >80kg
-----------------------------------
2 | Women >80kg
-----------------------------------
3 | Team Men >80kg
-----------------------------------
类别锦标赛(列出锦标赛中可用的所有类别)
类别用户(用户注册的类别)
当用户选择要参与的类别时,我正在尝试同步类别\u锦标赛\u用户
$categories = $request->get('categories_to_register');
$tournament->categories_user()->sync($categories);
我的很多亲戚在哪里
class Tournament extends Model
{
...
public function categories_user()
{
return $this->belongsToMany('App\Category', 'category_tournament_user', 'user_id','category_tournament_id');
}
}
它正在同步,但不是很好,不是插入用户id,而是插入锦标赛id,我想这是因为我从锦标赛模型调用它
我试着改变关系的顺序
user->tournament->category or
tournament->user->category
但当用户没有注册类别时
user->tournament or
tournament->user
将为空,因此我无法调用->类别
如何解决这个问题?如果您正在跟踪用户创建的类别,为什么不将用户id存储在类别表中?在这种情况下,使用belongsTo关系会容易得多,不是吗?我不跟踪用户创建的类别。我有一个分类目录。然后,管理员锦标赛决定锦标赛1将有10个类别,然后用户将只注册这10个类别中的3个
user->tournament->category or
tournament->user->category
user->tournament or
tournament->user