Laravel 对雄辩的原始质疑

Laravel 对雄辩的原始质疑,laravel,laravel-4,eloquent,Laravel,Laravel 4,Eloquent,我的项目和成员、团队和表格之间存在多态多对多关系。基本上,可以将一个成员或团队分配给一个项目。和成员分组在团队下 我想选择分配给当前成员所在团队的项目。我可以通过如下原始查询获得: DB::select( DB::raw(' SELECT DISTINT project_id FROM projectvisibles PV WHERE PV.projectvisible_type = "Team" AND PV.projectvisible_id IN

我的项目和成员、团队和表格之间存在多态多对多关系。基本上,可以将一个成员或团队分配给一个项目。和成员分组在团队下

我想选择分配给当前成员所在团队的项目。我可以通过如下原始查询获得:

DB::select(
  DB::raw('
    SELECT DISTINT project_id FROM projectvisibles PV 
      WHERE PV.projectvisible_type = "Team" 
        AND PV.projectvisible_id IN (
          SELECT team_id FROM member_team 
            WHERE member_id = :id)
  '), ['id' => $id]
);
我如何才能以雄辩的形式编写这个原始查询

我的数据库:

项目表:

身份证, 项目编号:, 名字

成员表:

身份证, 名字

团队表:

身份证, 名字

成员团队表:成员可以通过此表分组到团队下

成员编号:, 团队id

ProjectVisibles表: 项目可以通过此多对多多态表分配给成员或团队

项目编号:, 项目id成员id或团队id, 项目类型成员或团队


会是这样的

Db::table('projectvisibles')->where('projectvisible_type', '=', 'Team')->whereIn('projectvisible_id', function($query) use (& $id)
{
    $query->select('team_id')->from('member_team')->where('member_id', '=', $id);
})->get();
看看这个