2017-03-26 76 views
0

我正在構建一個Web應用程序在ColdFusion 2016年,一切工作正常,但是當我使用entityload並嘗試檢索adminID使用getAdminID()方法,我得到一條錯誤消息,說getAdminID方法不存在。但是,當我使用GetComponentMetadata()時,我看到所有的實體方法。請參閱代碼和下面的圖片:Coldfusion EntityLoad獲取方法未找到,但使用EntityLoadByPK時獲取方法工作

<CFSCRIPT> 
ORMReload(); 
showAdmin=getComponentMetadata("cfc.tbladmin"); 
</CFSCRIPT> 
<cfdump var="#showAdmin#"> 

enter image description here

但是當我嘗試調用方法getAdminID(),我得到的方法不存在錯誤。看到下面的錯誤和圖像:

<CFSCRIPT> 
ORMReload(); 
admin=entityload("tbladmin").getAdminID(); 
</CFSCRIPT> 
<cfdump var="#admin#" > 

enter image description here

+0

你可以請不要調用'entityload'返回沒有調用'.getAdminID()'? –

+0

請參閱附加鏈接的錯誤圖片。 – user2725341

+0

https://i.stack.imgur.com/0NmF2.png – user2725341

回答

0

,因爲當你調用entityLoad它給你回在該表中的所有對象的集合你得到一個錯誤。更具體地說,是所有實體的數組。因此,撥打entityload("tbladmin").getAdminID()不會工作,因爲您正嘗試在陣列上撥打.getAdminID()

您必須遍歷所有實體並在每個單獨實體上調用.getAdminID()。嘗試這樣的事情:

<cfscript> 
    var adminEnts = entityLoad("tbladmin"); 
    for (var adminEnt in adminEnts) { 
     writeDump(adminEnt.getAdminID()); 
    } 
</cfscript> 
+0

非常感謝。你的建議修復了錯誤.. – user2725341