Browse Source

#282 Fixed bug in OQL interpretation (functions requiring class aliasing)

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@894 a333f486-631f-4898-b8df-5754b55c2be0
romainq 14 năm trước cách đây
mục cha
commit
9715d69e09
1 tập tin đã thay đổi với 12 bổ sung2 xóa
  1. 12 2
      core/dbobjectsearch.class.php

+ 12 - 2
core/dbobjectsearch.class.php

@@ -722,11 +722,21 @@ class DBObjectSearch
 		}
 		elseif ($oExpression instanceof ListOqlExpression)
 		{
-			return new ListExpression($oExpression->GetItems());
+			$aItems = array();
+			foreach ($oExpression->GetItems() as $oItemExpression)
+			{
+				$aItems[] = $this->OQLExpressionToCondition($sQuery, $oItemExpression, $aClassAliases);
+			}
+			return new ListExpression($aItems);
 		}
 		elseif ($oExpression instanceof FunctionOqlExpression)
 		{
-			return new FunctionExpression($oExpression->GetVerb(), $oExpression->GetArgs());
+			$aArgs = array();
+			foreach ($oExpression->GetArgs() as $oArgExpression)
+			{
+				$aArgs[] = $this->OQLExpressionToCondition($sQuery, $oArgExpression, $aClassAliases);
+			}
+			return new FunctionExpression($oExpression->GetVerb(), $aArgs);
 		}
 		else
 		{