Laravel 5 当具有角色X的用户登录时显示CompanyX的已记录票证

Laravel 5 当具有角色X的用户登录时显示CompanyX的已记录票证,laravel-5,Laravel 5,我正在建立一个应用程序,公民可以在线登录在我们的应用程序上注册的公司的门票。我们有5种类型的用户角色 - [ App Super Admin, App Admin & App Support User ] ** Must see all logged tickets for all companies - [ Company Admin & Company Support User ] ** Must see only tickets for their company - [ App

我正在建立一个应用程序,公民可以在线登录在我们的应用程序上注册的公司的门票。我们有5种类型的用户角色

- [ App Super Admin, App Admin & App Support User ] ** Must see all logged tickets for all companies - [ Company Admin & Company Support User ] ** Must see only tickets for their company - [ App User ] ** Must see only their own logged tickets
通过使用roleid和where语句进行筛选来解决此问题。通过使用roleid和where语句进行筛选来解决此问题
    {
        $companyUser = companyUser::findOrfail($user);

        if (Auth::user()->id = $companyUser) {
            $tickets = DB::table('tickets')
                ->join('company_users', 'company_users.company_id', '=', 'companies.id')
                ->join('tickets', 'ticket.company_id', '=', 'company_users.company_id')
                ->select(
                    'tickets.ref_no',
                    'tickets.service_id',
                    'tickets.ticket_subject_id',
                    'tickets.ticket_status_id',
                    'tickets.ticket_priority_id',
                    'tickets.company_id',
                    'tickets.user_id',
                    'tickets.created_at'
                )
                ->where('company_users.user_id = users.id')
                ->get();
        } else {
            $tickets = DB::table('tickets')
                ->join('company_users', 'tickets.company_id', '=', 'company_users.company_id')
                ->select(
                    'tickets.ref_no',
                    'tickets.service_id',
                    'tickets.ticket_subject_id',
                    'tickets.ticket_status_id',
                    'tickets.ticket_priority_id',
                    'tickets.company_id',
                    'tickets.user_id',
                    'tickets.created_at'
                )
                ->groupBy('ref_no')
                ->get();
        }