Coldfusion cfml、数据库和多语言网站

Coldfusion cfml、数据库和多语言网站,coldfusion,multilingual,cfquery,Coldfusion,Multilingual,Cfquery,我有一个数据库,它有四列id,languageid,name,text 根据用户的默认语言,我创建了一个查询,其中包含设置语言的所有文本(where languageid=#user.defaultlanguageid#) 在显示所需字符串时,最简单的检索方法是什么 似乎每次创建子查询都有点麻烦 创建函数是最好的方法吗?您可以只使用一个查询来填充结构(可能是应用程序级结构)-类似于这样: <cfif not IsDefined("application.langMap")> <

我有一个数据库,它有四列
id
languageid
name
text

根据用户的默认语言,我创建了一个查询,其中包含设置语言的所有文本(
where languageid=#user.defaultlanguageid#

在显示所需字符串时,最简单的检索方法是什么

似乎每次创建子查询都有点麻烦


创建函数是最好的方法吗?

您可以只使用一个查询来填充结构(可能是应用程序级结构)-类似于这样:

<cfif not IsDefined("application.langMap")>

<cfquery name="langNames" datasource="...">SELECT * from langTable</cfquery>

<cfset application.langMap = {}>
<cfloop query="langNames">
   <cfif not StructKeyExists(application.langMap, languageid)>
       <cfset application.langMap[languageid] = {}>
   </cfif>
   <cfset application.langMap[languageid][name] = text>
</cfloop>

</cfif>

您可以只使用一个查询来填充一个结构(可能是一个应用程序级结构)——如下所示:

<cfif not IsDefined("application.langMap")>

<cfquery name="langNames" datasource="...">SELECT * from langTable</cfquery>

<cfset application.langMap = {}>
<cfloop query="langNames">
   <cfif not StructKeyExists(application.langMap, languageid)>
       <cfset application.langMap[languageid] = {}>
   </cfif>
   <cfset application.langMap[languageid][name] = text>
</cfloop>

</cfif>

我最终创建了一个函数,但您的代码帮助了堆。ThanksI最终创建了一个函数,但您的代码帮助了堆。谢谢