Laravel 5 当具有角色X的用户登录时显示CompanyX的已记录票证
我正在建立一个应用程序,公民可以在线登录在我们的应用程序上注册的公司的门票。我们有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 ticketsLaravel 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
通过使用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();
}