从returntype为JSON的方法返回两个记录集?
我有一个CFC,它包含一个方法/函数,运行一个存储过程,然后输出两个结果集。类似(缩短了读取速度代码):从returntype为JSON的方法返回两个记录集?,json,coldfusion,coldfusion-10,Json,Coldfusion,Coldfusion 10,我有一个CFC,它包含一个方法/函数,运行一个存储过程,然后输出两个结果集。类似(缩短了读取速度代码): 首先,我可以从单个方法返回UserOrders和UserRegions结果集吗 如果这不是在CFC中,而是在CFM页面中,那么我可以通过使用#UserOrders.OrderID#或#UserRegions.UserID#轻松访问这两个结果 因为它是从CFC返回的,而且也是作为JSON数据返回的,所以如何实现我试图实现的目标?函数只能返回单个对象。只需将查询放在另一个对象(如数组或结构)
首先,我可以从单个方法返回UserOrders
和UserRegions
结果集吗
如果这不是在CFC中,而是在CFM页面中,那么我可以通过使用#UserOrders.OrderID#
或#UserRegions.UserID#
轻松访问这两个结果
因为它是从CFC返回的,而且也是作为JSON数据返回的,所以如何实现我试图实现的目标?函数只能返回单个对象。只需将查询放在另一个对象(如数组或结构)中,然后返回该对象而不是查询。我会使用结构,因为它们比数组更直观。然后在JSON中,您可以通过键名“orders”或“regions”访问每个结果集。我现在无法对此进行测试,但大致如下:
<cffunction name="OrdersandRegions" returntype="struct" returnformat="JSON">
<cfstoredproc procedure="account_customer_EnrolmentsSEL" ...>
<cfprocresult name = "Local.UserOrders" resultset="1">
<cfprocresult name = "Local.UserRegions" resultset="2">
</cfstoredproc>
<cfset Local.result = {}>
<cfset Local.result["orders"] = Local.UserOrders>
<cfset Local.result["regions"] = Local.UserRegions>
<cfreturn Local.result>
</cffunction>
(旁注,请确保将所有函数局部变量的作用域设置为Local/var。)awesome!你是现在才想到的,还是根据过去的经验知道如何解决这个问题?只是过去的经验。大多数开发人员迟早会遇到这种情况。
<cffunction name="OrdersandRegions" returntype="struct" returnformat="JSON">
<cfstoredproc procedure="account_customer_EnrolmentsSEL" ...>
<cfprocresult name = "Local.UserOrders" resultset="1">
<cfprocresult name = "Local.UserRegions" resultset="2">
</cfstoredproc>
<cfset Local.result = {}>
<cfset Local.result["orders"] = Local.UserOrders>
<cfset Local.result["regions"] = Local.UserRegions>
<cfreturn Local.result>
</cffunction>