使用`where`和pivot table [Laravel 5]获取所有项目的方法

时间:2015-05-27 12:33:24

标签: php eloquent laravel-5 pivot-table

我需要获取project_group.admin_id'等于当前用户ID的所有项目。

find方法只返回一个项目:

$projects = Group::find(1) -> projects()->where('project_group.admin_id', '=',Auth::user()->id)->get();

有什么理由解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

正确答案:

public function userProjects(){

            $adminIdCondition = function($q){
                        $q->where('admin_id', Auth::user()->admin_id);
                    };
            $projects = Project::with(['groups' => $adminIdCondition])
                        ->whereHas('groups', $adminIdCondition)
                        ->get();

             return $projects;
        }