table('testdeftech') ->select('testdeftech.*, d.DisciplineName, dept.DepartmentName') ->join('discipline d', 'd.DisciplineID=testdeftech.DisciplineID', 'left') ->join('department dept', 'dept.DepartmentID=testdeftech.DepartmentID', 'left') ->where('testdeftech.TestSiteID', $testSiteID) ->where('testdeftech.EndDate IS NULL') ->get()->getResultArray(); } /** * Get tests by discipline */ public function getTestsByDiscipline($disciplineID, $siteID = null) { $builder = $this->select('testdeftech.*, testdefsite.TestSiteCode, testdefsite.TestSiteName') ->join('testdefsite', 'testdefsite.TestSiteID=testdeftech.TestSiteID', 'left') ->where('testdeftech.DisciplineID', $disciplineID) ->where('testdeftech.EndDate IS NULL'); if ($siteID) { $builder->where('testdefsite.SiteID', $siteID); } return $builder->findAll(); } /** * Get tests by department */ public function getTestsByDepartment($departmentID, $siteID = null) { $builder = $this->select('testdeftech.*, testdefsite.TestSiteCode, testdefsite.TestSiteName') ->join('testdefsite', 'testdefsite.TestSiteID=testdeftech.TestSiteID', 'left') ->where('testdeftech.DepartmentID', $departmentID) ->where('testdeftech.EndDate IS NULL'); if ($siteID) { $builder->where('testdefsite.SiteID', $siteID); } return $builder->findAll(); } }