vol*_*one 3 coldfusion json coldfusion-10
我有一个CFC,它包含一个运行一个存储过程然后输出两个结果集的方法/函数.像这样(缩短了阅读速度的代码):
<cffunction name="OrdersandRegions" returntype="query" returnformat="JSON">
<cfstoredproc procedure="GetUserInfo">
<cfprocresult name = "UserOrders" resultset="1">
<cfprocresult name = "UserRegions" resultset="2">
</cfstoredproc>
<!--- Currently only returning 1 resultset as JSON --->
<cfreturn UserOrders>
</cffunction>
Run Code Online (Sandbox Code Playgroud)
首先,我可以从单个方法返回结果集UserOrders和UserRegions结果集吗?
如果这不在CFC中并且在CFM页面内,那么我可以通过使用#UserOrders.OrderID#或#UserRegions.UserID#例如轻松访问这两个结果.
因为它是从CFC返回的,也是作为JSON数据返回的,我如何实现我想要实现的目标?
Lei*_*igh 10
函数只能返回单个对象.只需将查询放在另一个对象(如数组或结构)中,然后返回该对象而不是查询.我会使用一个结构,因为它们比数组更直观.然后在您的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>
Run Code Online (Sandbox Code Playgroud)
(旁注,请确保Local/var scope所有函数局部变量.)
| 归档时间: |
|
| 查看次数: |
674 次 |
| 最近记录: |