* Finish task #105944.

This commit is contained in:
songchenxuan
2023-11-14 12:00:10 +08:00
parent 0ed5a17fb4
commit 742f5f1e77
+24 -5
View File
@@ -1575,7 +1575,7 @@ class pivotModel extends model
}
}
if($slice != 'noSlice') $columnSQL = "select $groupList,`$slice`,$columnSQL from ($sql) tt" . $connectSQL . $groupSQL . ",tt.`$slice`" . $orderSQL . ",tt.`$slice`";
if($slice != 'noSlice') $columnSQL = "select $groupList,`$slice`,$columnSQL from ($sql) tt" . $connectSQL . $groupSQL . ",tt.`$slice`";
if($slice == 'noSlice') $columnSQL = "select $groupList,$columnSQL from ($sql) tt" . $connectSQL . $groupSQL . $orderSQL;
}
@@ -1590,7 +1590,7 @@ class pivotModel extends model
}
$cols = $this->getTableHeader($columnRows, $column, $fields, $cols, $sql, $langs, $column['showOrigin']);
if($slice != 'noSlice') $columnRows = $this->processSliceData($columnRows, $groups, $slice, $uuName);
if($slice != 'noSlice') $columnRows = $this->processSliceData($columnRows, $groups, $sql, $slice, $uuName);
$columnRows = $this->processShowData($columnRows, $groups, $column, $showColTotal, $uuName);
$rowIndex = 0;
@@ -1646,6 +1646,26 @@ class pivotModel extends model
return array($data, $configs);
}
/**
* Get sql field options.
*
* @param string $sql
* @param string $slice
* @access public
* @return array
*/
public function getSliceList($sql, $slice)
{
$sliceList = array();
$rows = $this->dao->query($sql)->fetchAll();
foreach($rows as $row)
{
$sliceList[$row->{$slice}] = $row->{$slice};
}
return $sliceList;
}
/**
* InitVarFilter.
*
@@ -1985,10 +2005,9 @@ class pivotModel extends model
* @access public
* @return array
*/
public function processSliceData($columnRows, $groups, $slice, $uuName)
public function processSliceData($columnRows, $groups, $sql, $slice, $uuName)
{
$sliceList = array();
foreach($columnRows as $rows) $sliceList[$rows->{$slice}] = $rows->{$slice};
$sliceList = $this->getSliceList($sql, $slice);
$index = 0;
$sliceRows = array();