HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
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();
    }
}