| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Misha v.3 02.04.2015 11:30 / 02.04.2015 11:34
по теме не отвечу, т.к. вопроса я, если честно, не понял, да и в коде есть откровенные ошибки и несоответствия кода комментариям.@getThreads[params]
$result[^table::sql{
SELECT
id,
sectionID,
threadID,
parentID,
uID,
date,
mess,
closed
FROM
questions
WHERE
1 = 1
^if(def $params.sectionIDs){AND sectionID IN ($params.sectionIDs)}
^if(def $params.parentIDs){AND parentID IN ($params.parentIDs)}
^if(def $params.threadIDs){AND threadID IN($params.threadIDs)}
^if(def $params.uIDs){AND uID IN($params.uIDs)}
ORDER BY
date DESC
}[
^if(def $params.limit){
$.limit(^params.limit.int(0))
}
]]а потом вызывать примерно так: $Q[^getThreads[ $.parentIDs(0) $.threadIDs($operator.threadID) ]]кода станет гораздо меньше и разбираться в нём станет уже проще.
$tOpQuestions[^getThreads[
$.threadIDs[^questions.menu{$questions.threadID}[,]]
]]
$hOpQuestions[^tOpQuestions.hash[threadID][$.type[table]]]
^questions.menu{
$operators[$hOpQuestions.[$questions.threadID]]
^operators.menu{
... это содержимое можно переделать аналогично, чтобы не делать sql запросов в цикле.
}
}P.S. если не очень понятно что происходит с ^таблица.hash[поле][$.type[table]], то скачайте и подключите Debug.p. а потом, после этого метода напишите ^dstop[ $.t[$tOpQuestions] $.h[$hOpQuestions] ] и увидите всю структуру было/стало.