clqms-be/app/Models/ValueSet/ValueSetModel.php

59 lines
1.6 KiB
PHP
Raw Normal View History

2025-10-14 16:54:43 +07:00
<?php
namespace App\Models\ValueSet;
2025-10-14 18:53:06 +07:00
use App\Models\BaseModel;
2025-10-14 16:54:43 +07:00
2025-10-14 18:53:06 +07:00
class ValueSetModel extends BaseModel {
2025-10-14 16:54:43 +07:00
protected $table = 'valueset';
protected $primaryKey = 'VID';
protected $allowedFields = ['SiteID', 'VSetID', 'VOrder', 'VValue', 'VDesc', 'VCategory', 'CreateDate', 'EndDate'];
protected $useTimestamps = true;
protected $createdField = 'CreateDate';
protected $updatedField = '';
protected $useSoftDeletes = true;
protected $deletedField = 'EndDate';
public function getValueSets($param = null, $page = null, $limit = 50, $VSetID = null) {
$this->select("valueset.*, valuesetdef.VSName as VCategoryName")
->join('valuesetdef', 'valueset.VSetID = valuesetdef.VSetID', 'LEFT');
if ($VSetID !== null) {
$this->where('valueset.VSetID', $VSetID);
}
2025-10-14 16:54:43 +07:00
if ($param !== null) {
$this->groupStart()
->like('valueset.VValue', $param, 'both')
->orLike('valueset.VDesc', $param, 'both')
->orLike('valuesetdef.VSName', $param, 'both')
->groupEnd();
2025-12-03 15:45:24 +07:00
}
if ($page !== null) {
return [
'data' => $this->paginate($limit, 'default', $page),
'pager' => $this->pager
];
}
return $this->findAll();
2025-10-14 16:54:43 +07:00
}
public function getValueSet($VID) {
$rows = $this->select("valueset.*, valuesetdef.VSName")
->join('valuesetdef', 'valuesetdef.VSetID = valueset.VSetID', 'LEFT')
->find($VID);
return $rows;
}
2025-10-14 18:53:06 +07:00
public function getValueSetByValueSetDef($VSetID) {
$rows = $this->where('VSetID', (int) $VSetID)->findAll();
return $rows;
}
2025-10-14 16:54:43 +07:00
}