Дополнительные действия
DarkMuse (обсуждение | вклад) Нет описания правки |
DarkMuse (обсуждение | вклад) Нет описания правки |
||
| Строка 8: | Строка 8: | ||
function EntityCounter._count(args) | function EntityCounter._count(args) | ||
local | local tableName = "Heroes" -- Таблица Cargo | ||
local queryFields = args.fields or "*" -- Укажите, какие поля нужно запросить, по умолчанию - все поля | |||
local conditions = args.conditions -- Условия запроса | |||
local | -- Строим строку условий для запроса | ||
local query = { | |||
tables = tableName, | |||
fields = queryFields, | |||
where = conditions, | |||
limit = 1, -- Ограничиваем до одной записи, т.к. мы хотим подсчитать записи | |||
format = "count" | |||
} | |||
-- Выполняем запрос через cargo_query | |||
local res = mw.ext.cargo.query(query) | |||
local res = mw. | |||
-- Проверяем результат и возвращаем количество записей | |||
if type(res) == 'table' and res[1] then | if type(res) == 'table' and res[1] then | ||
return res[1] | return res[1] | ||
Версия от 21:50, 12 сентября 2024
Для документации этого модуля может быть создана страница Модуль:ICCup entity count/doc
local Arguments = require('Module:Arguments')
local EntityCounter = {}
function EntityCounter.count(frame)
return EntityCounter._count(Arguments.getArgs(frame))
end
function EntityCounter._count(args)
local tableName = "Heroes" -- Таблица Cargo
local queryFields = args.fields or "*" -- Укажите, какие поля нужно запросить, по умолчанию - все поля
local conditions = args.conditions -- Условия запроса
-- Строим строку условий для запроса
local query = {
tables = tableName,
fields = queryFields,
where = conditions,
limit = 1, -- Ограничиваем до одной записи, т.к. мы хотим подсчитать записи
format = "count"
}
-- Выполняем запрос через cargo_query
local res = mw.ext.cargo.query(query)
-- Проверяем результат и возвращаем количество записей
if type(res) == 'table' and res[1] then
return res[1]
else
error("Ошибка при выполнении запроса: " .. tostring(res))
end
end
return EntityCounter