table('testdefgrp') ->select('testdefgrp.*, t.TestSiteID as MemberTestSiteID, t.TestSiteCode, t.TestSiteName, t.TestType') ->join('testdefsite t', 't.TestSiteID=testdefgrp.Member', 'left') ->where('testdefgrp.TestSiteID', $testSiteID) ->where('testdefgrp.EndDate IS NULL') ->orderBy('testdefgrp.TestGrpID', 'ASC') ->get()->getResultArray(); $rows = ValueSet::transformLabels($rows, [ 'TestType' => 'test_type', ]); return $rows; } public function getGroupsContainingTest($memberTestSiteID) { return $this->select('testdefgrp.*, t.TestSiteCode, t.TestSiteName') ->join('testdefsite t', 't.TestSiteID=testdefgrp.TestSiteID', 'left') ->where('testdefgrp.Member', $memberTestSiteID) ->where('testdefgrp.EndDate IS NULL') ->findAll(); } /** * Disable group members by TestSiteID */ public function disableByTestSiteID($testSiteID) { $this->db->table('testdefgrp') ->where('TestSiteID', $testSiteID) ->update(['EndDate' => date('Y-m-d H:i:s')]); } }