From d3fc9473d71786ca4cf9d84fc5f93bbce012a873 Mon Sep 17 00:00:00 2001 From: Johannes Meyer Date: Mon, 4 Nov 2019 15:06:21 +0100 Subject: [PATCH] FlattenedObjectVars: Skip optimizations and transfer meta-data --- .../Eagle/Model/Behavior/FlattenedObjectVars.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/library/Eagle/Model/Behavior/FlattenedObjectVars.php b/library/Eagle/Model/Behavior/FlattenedObjectVars.php index bd968b6d..8f994813 100644 --- a/library/Eagle/Model/Behavior/FlattenedObjectVars.php +++ b/library/Eagle/Model/Behavior/FlattenedObjectVars.php @@ -12,10 +12,16 @@ class FlattenedObjectVars implements RewriteFilterBehavior { $column = $expression->getColumn(); if ($column !== 'flatname' && $column !== 'flatvalue') { - return Filter::matchAll( - Filter::where($relation . 'flatname', $column), - $expression->setColumn($relation . 'flatvalue') - ); + $nameFilter = Filter::where($relation . 'flatname', $column); + $valueFilter = Filter::where($relation . 'flatvalue', $expression->getExpression()); + $filter = Filter::matchAll($nameFilter, $valueFilter); + + // TODO: Ugly, yes, let's implement this stuff in our own filters + $nameFilter->noOptmization = true; + $valueFilter->noOptmization = true; + $filter->transferMetaData = true; + + return $filter; } } }