Дополнительные действия
DarkMuse (обсуждение | вклад) Нет описания правки |
DarkMuse (обсуждение | вклад) Нет описания правки |
||
| Строка 11: | Строка 11: | ||
local queryFields = args.fields or "*" -- Укажите, какие поля нужно запросить, по умолчанию - все поля | local queryFields = args.fields or "*" -- Укажите, какие поля нужно запросить, по умолчанию - все поля | ||
local conditions = args.conditions or "" -- Условия запроса | local conditions = args.conditions or "" -- Условия запроса | ||
mw.log("Таблица: " .. tableName) | mw.log("Таблица: " .. tableName) | ||
| Строка 23: | Строка 18: | ||
-- Выполняем запрос через cargo.query | -- Выполняем запрос через cargo.query | ||
local res = mw.ext.cargo.query( | local res = mw.ext.cargo.query( | ||
tableName, -- Имя таблицы | |||
queryFields, -- Поля для выборки | |||
{ | |||
where = conditions, -- Условия запроса | |||
limit = 1, -- Ограничиваем до одной записи | |||
format = "count" -- Формат запроса | |||
) | } | ||
) | |||
-- | -- Проверяем результат | ||
mw.logObject(res) -- выводим | mw.logObject(res) -- выводим структуру результата | ||
if type(res) == 'table' then | if type(res) == 'table' then | ||
-- Если таблица возвращена, пробуем вывести данные | |||
-- | |||
if res[1] then | if res[1] then | ||
return res[1] | return res[1] | ||
| Строка 48: | Строка 38: | ||
end | end | ||
else | else | ||
return "Ошибка: результат не является таблицей." | |||
end | end | ||
end | end | ||
return EntityCounter | return EntityCounter | ||
Версия от 22:51, 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 = args.table or "Heroes" -- Таблица Cargo
local queryFields = args.fields or "*" -- Укажите, какие поля нужно запросить, по умолчанию - все поля
local conditions = args.conditions or "" -- Условия запроса
mw.log("Таблица: " .. tableName)
mw.log("Поля: " .. queryFields)
mw.log("Условия: " .. conditions)
-- Выполняем запрос через cargo.query
local res = mw.ext.cargo.query(
tableName, -- Имя таблицы
queryFields, -- Поля для выборки
{
where = conditions, -- Условия запроса
limit = 1, -- Ограничиваем до одной записи
format = "count" -- Формат запроса
}
)
-- Проверяем результат
mw.logObject(res) -- выводим структуру результата
if type(res) == 'table' then
-- Если таблица возвращена, пробуем вывести данные
if res[1] then
return res[1]
else
return "Таблица возвращена, но пустая."
end
else
return "Ошибка: результат не является таблицей."
end
end
return EntityCounter