mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-09-07 12:02:41 +00:00
Extending virtual fields implementation to work on queries with field list
This commit is contained in:
parent
53765312df
commit
a81edb6080
2 changed files with 26 additions and 19 deletions
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue