gpt4 book ai didi

mysql - 将 Coldfusion 应用程序迁移到 Lucee

转载 作者:行者123 更新时间:2023-11-30 21:40:40 24 4
gpt4 key购买 nike

我们的服务器正在从 Coldfusion 更改为 Lucee 服务器,我的任务是为几个 Web 应用程序更新我们的代码。我不是 Coldfusion 的大师,但我经常可以找到解决问题的方法,为此我的查询。

我正在转换的代码抛出了这个错误:无法将对象类型 [DateTime] 转换为 [Array] 类型的值

我一直在处理所有的查询,并确保输出是正确的 CAST,这已经解决了大部分问题,但困扰我的一小段代码抛出了上述错误。代码是:

<cfset summaryStartDate = ArrayMin( qSummaryData["minHours"] ) />
<cfset summaryMaxDate = ArrayMax( qSummaryData["maxHours"] ) />
<cfset summaryEndDate = DateAdd("d", -(DayofWeek(#summaryMaxDate#))+6, #summaryMaxDate# ) />

minHours 和 maxHours 都是 DATETIME 格式。我知道在 coldfusion 版本中它们的输出是这样的:

摘要开始日期:41204摘要最大日期:43465summaryEndDate: {ts '2019-01-04 00:00:00'}

对我来说,这意味着 Coldfusion 正在以某种方式进行转换,而 Lucee 没有这样做(或者至少从我读到的内容来看)。数据库是mySQL,minHours和maxHours输出为00:00:00的日期,以供引用。

我可能遗漏了一些明显的东西,但我看不到。

最佳答案

我用“这不是最好的解决方法”作为这个答案的开头,但它确实有效。从 andrewdixon 那里获取我的队列,我研究了侧步使用数组(数据不适合)并研究了替代方案。

我选择了查询中的查询,提取最小值,然后将其设置在 cfset 中。之后对最大值做同样的事情。我的两个问题是:

<cfquery name="smallestFigure" dbtype="query">SELECT CAST(MIN(minHours) AS DATETIME) as outputMin FROM qSummaryData;</cfquery>
<cfquery name="largestFigure" dbtype="query">SELECT CAST(MAX(maxHours) AS DATETIME) as outputMax FROM qSummaryData;</cfquery>

我将这些设置为 summaryStartDate 和 summaryMaxDate 以便这一行(在原始帖子中提到)可以运行:

<cfset summaryEndDate = DateAdd("d", -(DayofWeek(#summaryMaxDate#))+6, #summaryMaxDate# ) />

Shawn 提到我不需要 summaryMaxDate 周围的#,但我还没有进行更改。 andrewdixon 提到使用 query.reduce() 作为替代方案,我想这会比我所做的更简洁,所以如果有人想出更好的解决方案,请张贴作为答案。

也感谢大家的支持和想法。

关于mysql - 将 Coldfusion 应用程序迁移到 Lucee,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51783937/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com