1
0
Fork 0
mirror of https://github.com/Oreolek/ifhub.club.git synced 2024-07-03 06:55:03 +03:00

Merge commit 'fa26785460d8c908c466d2b5f28a36aea37690af'

This commit is contained in:
Mzhelskiy Maxim 2013-01-11 12:51:16 +04:00
parent 14c417fd8a
commit 023ff2a4c8

View file

@ -129,9 +129,9 @@ class MapperORM extends Mapper {
$sTableName = self::GetTableName($sEntityFull);
list($aFilterFields,$sFilterFields)=$this->BuildFilter($aFilter,$oEntitySample);
list($sOrder,$sLimit)=$this->BuildFilterMore($aFilter,$oEntitySample);
list($sOrder,$sLimit,$sGroup)=$this->BuildFilterMore($aFilter,$oEntitySample);
$sql = "SELECT * FROM ".$sTableName." WHERE 1=1 {$sFilterFields} {$sOrder} {$sLimit} ";
$sql = "SELECT * FROM ".$sTableName." WHERE 1=1 {$sFilterFields} {$sGroup} {$sOrder} {$sLimit} ";
$aQueryParams=array_merge(array($sql),array_values($aFilterFields));
$aItems=array();
if($aRows=call_user_func_array(array($this->oDb,'select'),$aQueryParams)) {
@ -305,7 +305,23 @@ class MapperORM extends Mapper {
}
$sLimit="LIMIT {$iBegin}, {$iEnd}";
}
return array($sOrder,$sLimit);
// Группировка
$sGroup='';
if (isset($aFilter['#group'])) {
if(!is_array($aFilter['#group'])) {
$aFilter['#group'] = array($aFilter['#group']);
}
foreach ($aFilter['#group'] as $sField) {
$sField = $this->oDb->escape($oEntitySample->_getField($sField),true);
$sGroup.=" {$sField},";
}
$sGroup=trim($sGroup,',');
if ($sGroup!='') {
$sGroup="GROUP BY {$sGroup}";
}
}
return array($sOrder,$sLimit,$sGroup);
}
/**
* Список колонок/полей сущности