Extending virtual fields implementation to work on queries with field list

This commit is contained in:
José Lorenzo Rodríguez 2009-11-11 23:12:03 -04:30
parent 53765312df
commit a81edb6080
2 changed files with 26 additions and 19 deletions

View file

@ -1789,10 +1789,12 @@ class DboSource extends DataSource {
return $data;
}
function _constructVirtualFields(&$model,$fields) {
function _constructVirtualFields(&$model,$alias,$fields) {
$virtual = array();
foreach ($fields as $name => $expression) {
$virtual[] = $expression . " {$this->alias} {$model->alias}__{$name}";
foreach ($fields as $field) {
$virtualField = $this->name("{$alias}__{$field}");
$expression = $model->virtualFields[$field];
$virtual[] = $expression . " {$this->alias} {$virtualField}";
}
return $virtual;
}
@ -1905,11 +1907,8 @@ class DboSource extends DataSource {
}
}
}
if (!empty($model->virtualFields)) {
if ($allFields) {
$fields = array_merge($fields,$this->_constructVirtualFields($model,$model->virtualFields));
} else {
}
if (!empty($virtual)) {
$fields = array_merge($fields,$this->_constructVirtualFields($model,$alias,$virtual));
}
return array_unique($fields);
}