mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-07-05 16:04:24 +03:00
ModuleORM::GetCountItemsByArray() added
This commit is contained in:
parent
d21dacda65
commit
4047d7233d
|
@ -196,6 +196,26 @@ class MapperORM extends Mapper {
|
||||||
return $aItems;
|
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) {
|
public function GetItemsByJoinTable($aData,$sEntityFull) {
|
||||||
if(empty($aData)) {
|
if(empty($aData)) {
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -322,6 +322,17 @@ abstract class ModuleORM extends Module {
|
||||||
return $aEntities;
|
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) {
|
public function GetItemsByJoinTable($aJoinData=array(),$sEntityFull=null) {
|
||||||
if (is_null($sEntityFull)) {
|
if (is_null($sEntityFull)) {
|
||||||
$sEntityFull=Engine::GetPluginPrefix($this).'Module'.Engine::GetModuleName($this).'_Entity'.Engine::GetModuleName(get_class($this));
|
$sEntityFull=Engine::GetPluginPrefix($this).'Module'.Engine::GetModuleName($this).'_Entity'.Engine::GetModuleName(get_class($this));
|
||||||
|
|
Loading…
Reference in a new issue