mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-07-01 14:05:07 +03:00
ModuleORM::GetCountItemsByArray() added
This commit is contained in:
parent
d21dacda65
commit
4047d7233d
|
@ -196,6 +196,26 @@ class MapperORM extends Mapper {
|
|||
return $aItems;
|
||||
}
|
||||
|
||||
public function GetCountItemsByArray($aFilter,$sEntityFull) {
|
||||
$sTableName = self::GetTableName($sEntityFull);
|
||||
|
||||
$aFilterFields=$aFilter;
|
||||
|
||||
$sFilterFields='';
|
||||
if (count($aFilterFields)) {
|
||||
$sFilterFields=' and '.implode(' IN ( ?a ) and ',array_keys($aFilterFields)).' IN ( ?a ) ';
|
||||
}
|
||||
|
||||
$sql = "SELECT count(*) as c FROM ".$sTableName." WHERE 1=1 {$sFilterFields} ";
|
||||
$aQueryParams=array_merge(array($sql),array_values($aFilterFields));
|
||||
|
||||
$aItems=array();
|
||||
if($aRow=call_user_func_array(array($this->oDb,'selectRow'),$aQueryParams)) {
|
||||
return $aRow['c'];
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
public function GetItemsByJoinTable($aData,$sEntityFull) {
|
||||
if(empty($aData)) {
|
||||
return null;
|
||||
|
|
|
@ -322,6 +322,17 @@ abstract class ModuleORM extends Module {
|
|||
return $aEntities;
|
||||
}
|
||||
|
||||
public function GetCountItemsByArray($aFilter=array(),$sEntityFull=null) {
|
||||
if (is_null($sEntityFull)) {
|
||||
$sEntityFull=Engine::GetPluginPrefix($this).'Module'.Engine::GetModuleName($this).'_Entity'.Engine::GetModuleName(get_class($this));
|
||||
} elseif (!substr_count($sEntityFull,'_')) {
|
||||
$sEntityFull=Engine::GetPluginPrefix($this).'Module'.Engine::GetModuleName($this).'_Entity'.$sEntityFull;
|
||||
}
|
||||
|
||||
$iCount=$this->oMapperORM->GetCountItemsByArray($aFilter,$sEntityFull);
|
||||
|
||||
return $iCount;
|
||||
}
|
||||
public function GetItemsByJoinTable($aJoinData=array(),$sEntityFull=null) {
|
||||
if (is_null($sEntityFull)) {
|
||||
$sEntityFull=Engine::GetPluginPrefix($this).'Module'.Engine::GetModuleName($this).'_Entity'.Engine::GetModuleName(get_class($this));
|
||||
|
|
Loading…
Reference in a new issue