@@ -102,19 +102,20 @@ public function generate($obj = null) {
102102
103103 $ arrayVariable = ($ obj ->arrayVariable ) ? $ obj ->arrayVariable : array ();
104104 $ recordObject = array_key_exists ('recordObj ' , $ arrayVariable ) ? $ obj ->arrayVariable ['recordObj ' ]['initialValue ' ] : "stdClass " ;
105- $ obj ->lastRowData = $ obj -> rowData ;
105+ $ obj ->lastRowData = $ row ;
106106 $ row = ( is_array ($ dbData ) || $ dbData instanceOf \ArrayAccess ) ? (isset ($ dbData [$ rowIndex ])) ? $ dbData [$ rowIndex ] : null : $ dbData ->fetchObject ($ recordObject );
107107 if (!is_object ($ row ) && is_array ($ row )) {
108108 $ row = (object )$ row ;
109109 }
110110 //echo $rowIndex;
111111 if (count ($ obj ->arrayGroup ) > 0 ) {
112112 foreach ($ obj ->arrayGroup as $ group ) {
113- preg_match_all ("/F{(\w+)}/ " , $ group ->groupExpression , $ matchesF );
114- $ groupExpression = $ matchesF [1 ][0 ];
115- if ($ obj ->rowData ->$ groupExpression != $ row ->$ groupExpression && $ group ->groupFooter ) {
113+ $ groupExpression = $ obj ->get_expression ($ group ->groupExpression , $ row );
114+ // preg_match_all("/F{(\w+)}/", $group->groupExpression, $matchesF);
115+ // $groupExpression = $matchesF[1][0];
116+ if ($ obj ->lastRowData ->$ groupExpression != $ row ->$ groupExpression && $ group ->groupFooter ) {
116117 $ groupFooter = new GroupFooter ($ group ->groupFooter );
117- $ groupFooter ->generate (array ($ obj , $ obj -> rowData ));
118+ $ groupFooter ->generate (array ($ obj , $ row ));
118119 $ group ->resetVariables = 'true ' ;
119120 }
120121 }
0 commit comments