我正在 Coldfusion 2016 上构建一个 Web 应用程序,到目前为止一切正常,但是当我使用EntityLoad并尝试使用 getAdminID() 方法检索 adminID 时,我收到一条错误消息,指出 getAdminID 方法不存在。但是,当我使用 GetComponentMetadata() 时,我会看到所有实体方法。请参阅下面的代码和图片:
<CFSCRIPT>
ORMReload();
showAdmin=getComponentMetadata("cfc.tbladmin");
</CFSCRIPT>
<cfdump var="#showAdmin#">
但是当我尝试调用方法 getAdminID() 时,收到错误该方法不存在。请参阅下面的错误和图片:
<CFSCRIPT>
ORMReload();
admin=entityload("tbladmin").getAdminID();
</CFSCRIPT>
<cfdump var="#admin#" >
最佳答案
您收到错误,因为当您调用 entityLoad
时,它会返回该表中所有对象的集合。更具体地说,是所有实体的数组。因此,调用 entityload("tbladmin").getAdminID()
不起作用,因为您尝试在数组上调用 .getAdminID()
。
您必须循环遍历所有实体,并对每个单独的实体调用 .getAdminID()
。尝试这样的事情:
<cfscript>
var adminEnts = entityLoad("tbladmin");
for (var adminEnt in adminEnts) {
writeDump(adminEnt.getAdminID());
}
</cfscript>
关于mysql - 找不到 Coldfusion EntityLoad get 方法,但使用 EntityLoadByPK 时,get 方法可以工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43033534/