From fbd1ba6dfc72ddb4bef0843a584b0204f1dd7516 Mon Sep 17 00:00:00 2001 From: qixinzhi Date: Wed, 30 Oct 2024 06:07:41 +0000 Subject: [PATCH] * [perf] fix pivot getfieldoptions. --- module/pivot/model.php | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/module/pivot/model.php b/module/pivot/model.php index efd0efa324..2fcfcaeb52 100644 --- a/module/pivot/model.php +++ b/module/pivot/model.php @@ -924,6 +924,27 @@ class pivotModel extends model return $fieldSql; } + public function filterFieldsWithSettings(array $fields, array $groups, array $columns) + { + $filteredFields = array(); + $settingFields = $groups; + + foreach($columns as $column) + { + $slice = zget($column, 'slice', 'noSlice'); + $settingFields[] = $column['field']; + if($slice != 'noSlice') $settingFields[] = $slice; + } + + $settingFields = array_unique($settingFields); + foreach($settingFields as $field) + { + if(!isset($filteredFields[$field]) && isset($fields[$field])) $filteredFields[$field] = $fields[$field]; + } + + return $filteredFields; + } + /** * Filter fields with settings. *