erLhcoreClassModelDepartament::getList PHP Method

getList() public static method

public static getList ( $paramsSearch = [] )
    public static function getList($paramsSearch = array())
    {
        $paramsDefault = array('limit' => 500000, 'offset' => 0);
        $params = array_merge($paramsDefault, $paramsSearch);
        $session = erLhcoreClassDepartament::getSession();
        $q = $session->createFindQuery('erLhcoreClassModelDepartament');
        $conditions = array();
        if (isset($params['filter']) && count($params['filter']) > 0) {
            foreach ($params['filter'] as $field => $fieldValue) {
                $conditions[] = $q->expr->eq($field, $q->bindValue($fieldValue));
            }
        }
        if (isset($params['filterin']) && count($params['filterin']) > 0) {
            foreach ($params['filterin'] as $field => $fieldValue) {
                $conditions[] = $q->expr->in($field, $fieldValue);
            }
        }
        if (isset($params['filterlt']) && count($params['filterlt']) > 0) {
            foreach ($params['filterlt'] as $field => $fieldValue) {
                $conditions[] = $q->expr->lt($field, $q->bindValue($fieldValue));
            }
        }
        if (isset($params['filtergt']) && count($params['filtergt']) > 0) {
            foreach ($params['filtergt'] as $field => $fieldValue) {
                $conditions[] = $q->expr->gt($field, $q->bindValue($fieldValue));
            }
        }
        if (count($conditions) > 0) {
            $q->where($conditions);
        }
        $q->limit($params['limit'], $params['offset']);
        $q->orderBy(isset($params['sort']) ? $params['sort'] : 'id ASC');
        $objects = $session->find($q);
        return $objects;
    }

Usage Example

$unreadTabEnabled = erLhcoreClassModelUserSetting::getSetting('enable_unread_list', 1);
$showAllPending = erLhcoreClassModelUserSetting::getSetting('show_all_pending', 1);
$showDepartmentsStats = $currentUser->hasAccessTo('lhuser', 'canseedepartmentstats');
if ($showDepartmentsStats == true) {
    /**
     * Departments stats
     * */
    $limitList = is_numeric($Params['user_parameters_unordered']['limitd']) ? (int) $Params['user_parameters_unordered']['limitd'] : 10;
    $filter = array('ignore_fields' => erLhcoreClassChat::$chatListIgnoreField);
    $filter['limit'] = $limitList;
    if (is_array($Params['user_parameters_unordered']['departmentd']) && !empty($Params['user_parameters_unordered']['departmentd'])) {
        erLhcoreClassChat::validateFilterIn($Params['user_parameters_unordered']['departmentd']);
        $filter['filterin']['id'] = $Params['user_parameters_unordered']['departmentd'];
    }
    $filter['sort'] = 'pending_chats_counter DESC';
    $departments = erLhcoreClassModelDepartament::getList($filter);
    erLhcoreClassChat::prefillGetAttributes($departments, array('id', 'name', 'pending_chats_counter', 'active_chats_counter'), array(), array('remove_all' => true));
    $ReturnMessages['departments_stats'] = array('list' => array_values($departments));
}
if ($activeTabEnabled == true) {
    /**
     * Active chats
     * */
    $limitList = is_numeric($Params['user_parameters_unordered']['limita']) ? (int) $Params['user_parameters_unordered']['limita'] : 10;
    $filter = array('ignore_fields' => erLhcoreClassChat::$chatListIgnoreField);
    if (is_array($Params['user_parameters_unordered']['actived']) && !empty($Params['user_parameters_unordered']['actived'])) {
        erLhcoreClassChat::validateFilterIn($Params['user_parameters_unordered']['actived']);
        $filter['filterin']['dep_id'] = $Params['user_parameters_unordered']['actived'];
    }
    $chats = erLhcoreClassChat::getActiveChats($limitList, 0, $filter);
    erLhcoreClassChat::prefillGetAttributes($chats, array('time_created_front', 'department_name', 'plain_user_name'), array('department', 'time', 'status', 'user_id', 'user'));
All Usage Examples Of erLhcoreClassModelDepartament::getList