2025-10-24 16:41:31 +07:00
< ? php
namespace App\Models\Test ;
use App\Models\BaseModel ;
class TestDefSiteModel extends BaseModel {
protected $table = 'testdefsite' ;
protected $primaryKey = 'TestSiteID' ;
2025-12-16 13:48:33 +07:00
protected $allowedFields = [ 'SiteID' , 'TestSiteCode' , 'TestSiteName' , 'TestType' , 'Description' , 'SeqScr' , 'SeqRpt' , 'IndentLeft' ,
2025-10-24 16:41:31 +07:00
'VisibleScr' , 'VisibleRpt' , 'CountStat' , 'CreateDate' , 'EndDate' ];
protected $useTimestamps = true ;
protected $createdField = 'CreateDate' ;
protected $updatedField = '' ;
protected $useSoftDeletes = true ;
protected $deletedField = " EndDate " ;
2025-11-27 14:15:10 +07:00
public function getTests () {
2025-12-16 13:48:33 +07:00
$rows = $this -> select ( " TestSiteID, TestSiteCode, TestSiteName, TestType, valueset.VValue as TypeCode, valueset.VDesc as TypeName " )
-> join ( " valueset " , " valueset.VID=testdefsite.TestType " , " left " )
2025-11-27 14:15:10 +07:00
-> findAll ();
return $rows ;
}
public function getTest ( $TestSiteID ) {
2025-12-17 07:03:16 +07:00
$row = $this -> select ( " testdefsite.*, valueset.VValue as TypeCode, valueset.VDesc as TypeName " )
-> join ( " valueset " , " valueset.VID=testdefsite.TestType " , " left " )
2025-11-27 14:15:10 +07:00
-> where ( " testdefsite.TestSiteID " , $TestSiteID )
-> find ( $TestSiteID );
2025-12-17 07:03:16 +07:00
if ( ! $row ) return null ;
if ( $row [ 'TypeCode' ] == 'Calculated' ) {
$row [ 'testdefcal' ] = $this -> db -> query ( " select * from testdefcal where TestSiteID=' $TestSiteID ' " ) -> getResultArray ();
} elseif ( $row [ 'TypeCode' ] == 'GROUP' ) {
2025-12-17 10:06:05 +07:00
$row [ 'testdefgrp' ] = $this -> db -> query ( " select testdefgrp.*, t.TestSiteCode, t.TestSiteName from testdefgrp left join testdefsite t on t.TestSiteID=testdefgrp.Member where testdefgrp.TestSiteID=' $TestSiteID ' " ) -> getResultArray ();
2025-12-17 07:03:16 +07:00
} else {
$row [ 'testdeftech' ] = $this -> db -> query ( " select * from testdeftech where TestSiteID=' $TestSiteID ' " ) -> getResultArray ();
}
2025-11-27 14:15:10 +07:00
return $row ;
}
2025-10-24 16:41:31 +07:00
}