gpt4 book ai didi

mysql - 使用 mySQL 数据库在 CFC 中进行麻烦的 coldfusion 联合查询

转载 作者:行者123 更新时间:2023-11-29 01:01:09 25 4
gpt4 key购买 nike

这适用于 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>

尝试获取查询的前导行,我在 firebug 中收到此 AJAX 错误“JSON 序列化失败:无法将二进制数据序列化为 JSON。”

Henry 的建议解决了上述问题,但我又被下一点弄糊涂了,试图将两个选择链接起来。

这有效...

<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>

...但是如果我尝试使用绑定(bind)字段传入 DSN,我会从中得到“错误解析绑定(bind)”

<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>

最佳答案

哦,我想这就是你想要的。

<cfset organisations = createObject("component", "cfcs.messages").getOrganisations()>

<cfselect name="to" query="organisations"
value="organisationID" display="organisationName"
required="Yes" queryPosition="below">
<option value="0">Select</option>
</cfselect>

如果你真的需要它与 bind 一起工作,尝试 queryPosition 属性是否有效。如果 queryPosition 不适用于 bind,那么您需要插入额外的虚拟行。将 unionQuery of Queries 一起使用可能更容易。

关于mysql - 使用 mySQL 数据库在 CFC 中进行麻烦的 coldfusion 联合查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3097940/

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