Новости | 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] ] и увидите всю структуру было/стало.