雄辩的嵌套关系

时间:2015-09-18 14:33:35

标签: mysql database laravel eloquent

我对我的数据库查询有疑问。

我的数据库表/架构:

  • customers_users(customer_id,user_id)关系表
  • 项目(project_id,customer_id,[.......])属于客户

我尝试通过以下查询获取用户可通过客户访问的所有项目:

//call
User::find(Auth::id())->first()->projects();

//User.model
public function projects() {
    return User::with('customers.projects')->get();
}

有效。但现在我在结果数组中有用户数据,客户数据和项目数据。我只想要项目。还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

$user = auth()->user()->load('customers.projects');

$projects = $user->customers->pluck('projects')->collapse()->unique();