diff --git a/app/Controllers/Admin/Cloudflare/API/FirewallController.php b/app/Controllers/Admin/Cloudflare/API/FirewallController.php index cee1a1f..4abf264 100644 --- a/app/Controllers/Admin/Cloudflare/API/FirewallController.php +++ b/app/Controllers/Admin/Cloudflare/API/FirewallController.php @@ -81,11 +81,4 @@ class FirewallController extends APIController $entity = $api->sync($entity); return parent::sync_process($entity); } - //Index관련 - protected function index_process() - { - $this->_model->orderBy('zone_uid', 'ASC'); - $this->_model->orderBy('description', 'ASC'); - return parent::index_process(); - } } diff --git a/app/Controllers/Admin/Cloudflare/API/RecordController.php b/app/Controllers/Admin/Cloudflare/API/RecordController.php index 2bbb2c9..a26412d 100644 --- a/app/Controllers/Admin/Cloudflare/API/RecordController.php +++ b/app/Controllers/Admin/Cloudflare/API/RecordController.php @@ -137,13 +137,6 @@ class RecordController extends APIController $entity = $api->sync($entity); return parent::sync_process($entity); } - //Index관련 - protected function index_process() - { - $this->_model->orderBy('zone_uid', 'ASC'); - $this->_model->orderBy('host', 'ASC'); - return parent::index_process(); - } //CDN고정관련 final public function cdnToggle(string $uid) { diff --git a/app/Controllers/Admin/Cloudflare/API/ZoneController.php b/app/Controllers/Admin/Cloudflare/API/ZoneController.php index 5d0d853..7a82c3c 100644 --- a/app/Controllers/Admin/Cloudflare/API/ZoneController.php +++ b/app/Controllers/Admin/Cloudflare/API/ZoneController.php @@ -151,13 +151,6 @@ class ZoneController extends APIController $entity = $api->sync($entity); return parent::sync_process($entity); } - //Index관련 - protected function index_process() - { - $this->_model->orderBy('account_uid', 'ASC'); - $this->_model->orderBy('domain', 'ASC'); - return parent::index_process(); - } //Reload관련 final public function reload($uid) { diff --git a/app/Controllers/Common/CommonController.php b/app/Controllers/Common/CommonController.php index 177ac65..fa72cef 100644 --- a/app/Controllers/Common/CommonController.php +++ b/app/Controllers/Common/CommonController.php @@ -443,7 +443,7 @@ class CommonController extends BaseController //OrderBy $order_field = $this->request->getVar('order_field') ? $this->request->getVar('order_field') : 'uid'; $order_value = $this->request->getVar('order_value') ? $this->request->getVar('order_value') : 'DESC'; - $this->_model->orderBy($order_field, $order_value); + $this->_model->setIndexOrderBy($order_field, $order_value); $rows = $per_page ? $this->_model->findAll($per_page, $page * $per_page - $per_page) : $this->_model->findAll(); Log::add("debug", __METHOD__ . "에서 호출[{$per_page}:{$page}=>{$page}*{$per_page}-{$per_page}]\n" . $this->_model->getLastQuery()); return $rows; diff --git a/app/Models/Cloudflare/API/FirewallModel.php b/app/Models/Cloudflare/API/FirewallModel.php index bda2c79..1ccac4c 100644 --- a/app/Models/Cloudflare/API/FirewallModel.php +++ b/app/Models/Cloudflare/API/FirewallModel.php @@ -78,4 +78,8 @@ class FirewallModel extends Model $this->where('created_at >=', $start); $this->where('created_at <=', $end); } + public function setIndexOrderBy($field, $order = 'ASC') + { + $this->orderBy(['zone_uid' => 'ASC', 'description' => 'ASC', $field => $order]); + } } diff --git a/app/Models/Cloudflare/API/RecordModel.php b/app/Models/Cloudflare/API/RecordModel.php index 046964d..9f7b170 100644 --- a/app/Models/Cloudflare/API/RecordModel.php +++ b/app/Models/Cloudflare/API/RecordModel.php @@ -81,6 +81,10 @@ class RecordModel extends Model $this->where('created_at >=', $start); $this->where('created_at <=', $end); } + public function setIndexOrderBy($field, $order = 'ASC') + { + $this->orderBy(['zone_uid' => 'ASC', 'host' => 'ASC', $field => $order]); + } //도메인이 이미 존재하는지 체크 public function isUniqueHost($zone_uid, string $host, string $content): bool diff --git a/app/Models/Cloudflare/API/ZoneModel.php b/app/Models/Cloudflare/API/ZoneModel.php index a94e6d9..612e2ef 100644 --- a/app/Models/Cloudflare/API/ZoneModel.php +++ b/app/Models/Cloudflare/API/ZoneModel.php @@ -80,6 +80,10 @@ class ZoneModel extends Model $this->where('created_at >=', $start); $this->where('created_at <=', $end); } + public function setIndexOrderBy($field, $order = 'ASC') + { + $this->orderBy(['account_uid' => 'ASC', 'domain' => 'ASC', $field => $order]); + } //도메인이 이미 존재하는지 체크 public function isUniqueDomain(string $account_uid, string $domain): bool