我所有的FW/1控制器都扩展了ext base.cfc。在base.cfc中,有一个名为addMessage()的函数。消息类似于"您已成功登录"。"您的数据中有错误","处理请求时出错。
addMessage() 将消息附加到名为 request.arMessage
(数组)的变量中。当我到达布局文件时,布局文件会循环浏览所有消息并将它们显示在页面上。
我正在考虑用request.qryMessage替换request.arMessage
。这样我就可以运行 QoQ 并按严重性排序,而不是最后一个退出。见下文
void function addMessage(required string message, numeric priority=0) output="false" {
param request.qryMessageQueue = QueryNew("Priority,Message", "integer,varchar");
QueryAddRow(request.qryMessageQueue);
QuerySetCell(request.qryMessageQueue, "Priority", arguments.priority);
QuerySetCell(request.qryMessageQueue, "Message", trim(arguments.message));
}
这种方法是否与 MVC 和 FW/1 应该这样做的方式一致?
我不能说MVC或FW/1的要求,但我可以告诉你如何做到这一点是你的CFC。
不要构建数组,而是生成查询对象。 然后使用您的 Q of Q 对其进行排序。 然后结合使用 ListToArray 和 ValueList 来创建排序数组。