* [misc] add built in pivot drills.
This commit is contained in:
+2131
-1001
File diff suppressed because it is too large
Load Diff
@@ -776,6 +776,10 @@ class biModel extends model
|
||||
if(isset($pivot->langs)) $pivot->langs = $this->jsonEncode($pivot->langs);
|
||||
if(isset($pivot->vars)) $pivot->vars = $this->jsonEncode($pivot->vars);
|
||||
if(!isset($pivot->driver)) $pivot->driver = $this->config->bi->defaultDriver;
|
||||
if(!isset($pivot->drills)) $pivot->drills = array();
|
||||
|
||||
$pivotSQLs = array_merge($pivotSQLs, $this->prepareBuilitinPivotDrillSQL($pivot->id, $pivot->drills));
|
||||
unset($pivot->drills);
|
||||
|
||||
$exists = $this->dao->select('id,name')->from(TABLE_PIVOT)->where('id')->eq($pivot->id)->fetch();
|
||||
if(!$exists)
|
||||
@@ -814,6 +818,35 @@ class biModel extends model
|
||||
return $pivotSQLs;
|
||||
}
|
||||
|
||||
/**
|
||||
* 准备内置透视表的下钻sql。
|
||||
* Prepare built-in pivot drill sql.
|
||||
*
|
||||
* @param int $pivotID
|
||||
* @param array $drills
|
||||
* @access public
|
||||
* @return array
|
||||
*/
|
||||
public function prepareBuilitinPivotDrillSQL($pivotID, $drills)
|
||||
{
|
||||
if(empty($drills)) return array();
|
||||
|
||||
$sqls = array();
|
||||
$sqls[] = $this->dao->delete()->from(TABLE_PIVOTDRILL)->where('pivot')->eq($pivotID)->get();
|
||||
foreach($drills as $drill)
|
||||
{
|
||||
$drill = (object)$drill;
|
||||
$drill->condition = $this->jsonEncode($drill->condition);
|
||||
$drill->pivot = $pivotID;
|
||||
$drill->status = 'published';
|
||||
$drill->type = 'manual';
|
||||
|
||||
$sqls[] = $this->dao->insert(TABLE_PIVOTDRILL)->data($drill)->get();
|
||||
}
|
||||
|
||||
return $sqls;
|
||||
}
|
||||
|
||||
/**
|
||||
* 准备内置的度量项sql语句。
|
||||
* Prepare builtin metric sql.
|
||||
|
||||
Reference in New Issue
Block a user