Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/modules/ipol.sdek/classes/db/
Upload File :
Current File : /var/www/homesaver/www/bitrix/modules/ipol.sdek/classes/db/TableHelpers.php

<?php
namespace Ipolh\SDEK;

use Bitrix\Main\Entity\ExpressionField;

trait TableHelpers
{
    /**
     * Returns object data by primary ID.
     *
     * @param  int $id primary index
     * @param  array $select
     * @return array
     */
    public static function getByPrimaryId($id, $select = array())
    {
        return self::getList(array_filter(['select' => $select ?: null, 'filter' => ['=ID' => $id]]))->fetch();
    }

    /**
     * Return number of rows with some data
     *
     * @param  bool $onlyActive
     * @return int
     */
    public static function getDataCount($onlyActive = true)
    {
        $params = ['select' => ['CNT'], 'runtime' => [new ExpressionField('CNT', 'COUNT(*)')]];

        if ($onlyActive) {
            if (isset(self::$isActiveFieldName))
                $params['filter'] = [self::$isActiveFieldName => 'Y'];
            else
                $params['filter'] = ['SYNC_IS_ACTIVE' => 'Y'];
        }

        $result = self::getList($params)->fetch();
        return $result['CNT'];
    }
}