2017-04-25 42 views
0

我經常需要在代碼中的查詢中切換代碼和名稱。這裏是什麼樣子:有沒有一種簡單的方法來做到這一點比coldfusion中的qoq

<cfquery name="AllLocations" > 
    Select Name, Code From Locations 
</cfquery> 

在頁面稍後我會需要的名字,並讓代碼,或者反之亦然:

<cfquery name="ThisLocation" dbtype="query > 
    Select Name From Locations where Code = '#Code#' 
</cfquery> 

<cfoutput>#ThisLocation.Name#</cfoutput> 

有一個較短的方式做到這一點,所以我不要每次都不必做季度?

+0

很難說不知道什麼時候和爲什麼要做q的q以及是否真的需要整個表。 –

+0

我想我問的是如果coldfusion有一個速記,我可以使用它將立即得到行和列。就像'AllLocations [「#Name#」]。代碼' –

+0

當然,但是你正在嘗試做什麼 - 更重要的是爲什麼*會影響哪些選項可用,哪些選項適合你的特定場景。 – Leigh

回答

1

你可以做這樣的事情:

<cfoutput> 
#allLocations.name[listfind(valuelist(allLocations.code), code)]# 
</cfoutput> 

編輯從這裏開始 鑑於對性能的評論,我的理解是數組比列表更快。

<cfoutput> 
#allLocations.name[arrayFind(allLocations['code'], code)]# 
</cfoutput> 
+0

你錯過了'listFind()' – Beginner

+0

的第二個參數我做了很多。通常我會注意到,因爲我實際上試圖運行代碼並失敗。 –

+0

這就是我一直在尋找的東西。我不確定它是否更容易(至少讀取),但它確實有效。 –

相關問題