這工作與MySQL後端麻煩ColdFusion的聯合查詢在CFC與MySQL數據庫
在形式......
<cfselect name="to" size="1" bind="cfc:cfcs.messages.getOrganisations()" bindonload="yes" value="organisationID" display="organisationName" required="Yes">
</cfselect>
在CFC
<cffunction access="remote" name="getOrganisations" output="false" returntype="query" displayname="Get organisations list" hint="This method returns a list of organisations as a query.">
<cfquery name="getOrganisations" datasource='myData'>
SELECT organisationID, organisationName, acceptsReferral, metadataTemplate
FROM organisations
WHERE acceptsReferral
ORDER BY organisationName ASC;
</cfquery>
<cfreturn getOrganisations>
</cffunction>
但如果我嘗試
<cffunction access="remote" name="getOrganisations" output="false" returntype="query" displayname="Get organisations list" hint="This method returns a list of organisations as a query.">
<cfquery name="getOrganisations" datasource='myData'>
SELECT '0' AS organisationID, 'Select' AS organisationName, false AS acceptsReferral, 0 AS metadataTemplate
FROM organisations
UNION
(SELECT organisationID, organisationName, acceptsReferral, metadataTemplate
FROM organisations
WHERE acceptsReferral
ORDER BY organisationName ASC)
</cfquery>
<cfreturn getOrganisations>
</cffunction>
嘗試獲得sele ct引導行到查詢,我在firebug「JSON序列化失敗:無法將二進制數據序列化到JSON」中得到此AJAX錯誤。
亨利的建議解決了上述問題,但我再次受到下一點的影響,試圖讓兩個選擇鏈接。
這工作...
<cfselect name="attentionOf" size="1" bind="cfc:cfcs.messages.getOrganisationMembers({to})" bindonload="false" value="userID" display="name" required="No" queryPosition="below">
<option value="0">Select</option>
</cfselect>
...但如果我嘗試在DSN通過與綁定字段我得到「錯誤解析綁定」從這個
<cfselect name="attentionOf" size="1" bind="cfc:cfcs.messages.getOrganisationMembers({to}, 'mySqlData')" bindonload="false" value="userID" display="name" required="No" queryPosition="below">
<option value="0">Select</option>
</cfselect>
如果你在本地調用它,cfquery是否可以工作?附:不要忘記改變你的「getOrganisations」變量。 – Henry 2010-06-22 23:42:54
是的,如果我在本地調用,它列出了查詢的頂部選擇,但沒有ORDER BY爲兩個查詢中的第二個。所以SQL沒有發生錯誤。我不明白JSON錯誤。 – Saul 2010-06-23 00:30:27