Ejemplo n.º 1
0
        $_table = $_table_info["table"];
        $_key = $_table_info["key"];
        foreach ($inserts as $_insert) {
            /** @var callable $callback */
            list($object_class, $type, $fields, $callback) = $_insert;
            if ($fields === $_fields && $object_class === $_object_class && $type === $_type) {
                $_query = $callback($ds, $_row);
                $ds->exec($_query);
                $counts["insert"] += $ds->affectedRows();
            }
        }
    }
    // Delete user logs entries
    $request = new CRequest();
    $request->addWhereClause("user_log_id", "BETWEEN {$min} AND {$max}");
    $request->addForceIndex("PRIMARY");
    $request->addWhere($where);
    $query = $request->makeDelete($log);
    $ds->exec($query);
    $counts["insert"] = $ds->affectedRows();
} else {
    $query = $request->makeSelectCount($log);
    $counts["insert"] = $ds->loadResult($query);
}
//</editor-fold>
$offset = $max + 1;
// Stop auto if end is reached
$log->loadMatchingObject("user_log_id DESC");
if ($log->_id < $offset) {
    $auto = 0;
}
 /**
  * Object count of a multiple list by an SQL request constructor using group-by statement
  *
  * @param array        $where  Array of where clauses
  * @param array|string $order  Order statement
  * @param array|string $group  Group by statement
  * @param array        $ljoin  Array of left join clauses
  * @param array        $fields Append fields to the SELECT
  * @param array|string $index  Force index
  *
  * @return self[]
  */
 function countMultipleList($where = null, $order = null, $group = null, $ljoin = null, $fields = array(), $index = null)
 {
     if (!$this->_ref_module) {
         return null;
     }
     $request = new CRequest();
     $request->addWhere($where);
     $request->addOrder($order);
     $request->addGroup($group);
     $request->addLJoin($ljoin);
     $request->addForceIndex($index);
     $ds = $this->_spec->ds;
     return $ds->loadList($request->makeSelectCount($this, $fields));
 }