我的应用程序中有一段关系,基本上是
许多组织可以拥有许多用户,许多用户可以拥有多个组织。
这是一个多对多的关系,组织模型关系看起来像这样,
public function users() {
return $this->belongsToMany('User')
->where('admin', '>', 0)
->orWhere('basic', '>', 0)
->withPivot([
'start_date' => 'start_date as start_date',
'admin' => 'admin as admin',
'manager' => 'manager as manager',
'finance' => 'finance as finance',
'basic' => 'basic as basic',
'notifications' => 'notifications as notify'
])
->withTimestamps();
}
和我与组织的用户模型关系看起来像这样,
public function organisations()
{
return $this->belongsToMany('Organisation');
}
我遇到了这种关系的一个大问题,但是当我通过项目访问它时(一个项目有一个组织,有很多用户),我得到一个完整的用户列表,而不仅仅是组织的用户项目
为什么会这样?我认为这与我的组织模型中的Users()函数中的where子句有关吗?
答案 0 :(得分:0)
我没有看到你使用所有这些代码的原因!我会说,简单地说:
组织班级
public function users() {
return $this->belongsToMany('App\User');
}
用户类
public function organisations() {
return $this->hasMany('App\Organisation');
}