File: D:/HostingSpaces/SBogers10/hours.komma.pro/app/Komma/ExcelExports/ExcelExportRepository.php
<?php
namespace App\Komma\ExcelExports;
use App\Komma\Absences\Absence;
use App\Komma\Companies\Company;
use App\Komma\Projects\Project;
use App\Komma\Subprojects\Subproject;
class ExcelExportRepository
{
/**
* Load Project with all relations
*
* @param $id
* @return \App\Komma\ActivityLog\Activity|null
*/
public function FullProject($id)
{
return Project::with([
'Subprojects',
'Subprojects.SubprojectTemplate',
'Subprojects.Expenses',
'Subprojects.Expenses.ExpenseType',
'Subprojects.Expenses.ExpenseType.ExpenseUnit',
'Subprojects.Tasks',
'Subprojects.Tasks.TaskTemplate',
'Subprojects.Tasks.Hours',
'Subprojects.Tasks.Hours.User',
])->find($id);
}
/**
* @param $id
* @return \Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Model|null
*/
public function FullSubproject($id)
{
return Subproject::with([
'SubprojectTemplate',
'Expenses',
'Expenses.ExpenseType',
'Expenses.ExpenseType.ExpenseUnit',
'Tasks',
'Tasks.TaskTemplate',
'Tasks.Hours',
'Tasks.Hours.User',
])->find($id);
}
/**
* @param $id
* @return \Illuminate\Database\Eloquent\Collection|\Illuminate\Database\Eloquent\Model|null
*/
public function FullAbsence($id)
{
return Absence::with([
'AbsenceType',
'AbsenceType.AbsenceBalances',
'User',
])->where('absence_type_id', $id)
->get();
}
/**
* @return \Illuminate\Database\Eloquent\Collection|static[]
*/
public function AllProjects()
{
return Project::with([
'Company',
'Subprojects',
'Subprojects.SubprojectTemplate',
'Subprojects.Expenses',
'Subprojects.Expenses.User',
'Subprojects.Expenses.ExpenseType',
'Subprojects.Expenses.ExpenseType.ExpenseUnit',
'Subprojects.Tasks',
'Subprojects.Tasks.TaskTemplate',
'Subprojects.Tasks.Hours',
'Subprojects.Tasks.Hours.User',
])->get();
}
public function FullCompany($id)
{
return Company::with([
'Projects',
'Projects.Subprojects',
'Projects.Subprojects.SubprojectTemplate',
'Projects.Subprojects.Expenses',
'Projects.Subprojects.Expenses.User',
'Projects.Subprojects.Expenses.ExpenseType',
'Projects.Subprojects.Expenses.ExpenseType.ExpenseUnit',
'Projects.Subprojects.Tasks',
'Projects.Subprojects.Tasks.TaskTemplate',
'Projects.Subprojects.Tasks.Hours',
'Projects.Subprojects.Tasks.Hours.User',
])->find($id);
}
/**
* @return \Illuminate\Database\Eloquent\Collection|static[]
*/
public function AllAbsences()
{
return Absence::with([
'AbsenceType',
'AbsenceType.AbsenceBalances',
'User',
])->get();
}
}