首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ORM复制cfoutput分组

使用ORM复制cfoutput分组
EN

Stack Overflow用户
提问于 2015-11-20 18:35:46
回答 2查看 64关注 0票数 0

我正在转换到Cold聚变的ORM,并想知道如何使用ORM复制cfoutput的分组?

我得到了以下错误:Can't cast Object type [java.util.ArrayList] to a value of type [query]

查询:

代码语言:javascript
复制
qryGames = ormExecuteQuery("from Game where Season.seasonID=:sid and League.leagueID=:lid and Season.User.userID=:uid order by League.leagueName, GameType.gameTypeID, gameDate DESC", {sid=url.sid, lid=leagueID, uid=session.userID});

代码:

代码语言:javascript
复制
<cfif arraylen(qryGames) GT 0>
    <cfoutput query="qryGames" group="leagueName">
        <cfoutput group="gameTypeName">
            ...
        </cfoutput>
    </cfoutput>
</cfif>

我看不到cfloop的分组属性。我总是可以手动复制它,但我想知道是否有一个内置的方式来做到这一点。

更新#1

使用entityToQuery

代码语言:javascript
复制
qryGames = entityToQuery(ormExecuteQuery("from Game where Season.seasonID=:sid and League.leagueID=:lid and Season.User.userID=:uid order by League.leagueName, GameType.gameTypeID, gameDate DESC", {sid=url.sid, lid=leagueID, uid=session.userID}), "League");

我得到以下错误:

代码语言:javascript
复制
Message     column [gameTypeName] not found in query, columns are [leagueID,leagueName,leagueAbbr,teamName,gameInMinutes,deleteYN,showReportYN]

只限于一个实体的名字?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-20 19:13:00

先使用EntityToQuery() http://cfdocs.org/entitytoquery,然后再使用<cfoutput query=

票数 1
EN

Stack Overflow用户

发布于 2015-11-20 18:49:06

您的结果集不是查询,而是数组,必须以查询的形式循环。

代码语言:javascript
复制
<cfloop array="#games#" index="game">
    <!--- do stuff --->
</cfloop>

至于复制可用于查询的内置分组功能,我不认为有一种自动处理数组的方法,因此您需要在组中编写逻辑来执行分组,或者需要在返回结果后将结果拆分,然后用不同的循环在不同的部分上循环。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33833724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档