我想用Adobe ColdFusion内置的ORM做这样的事情:
<cfquery name="myquery">
SELECT
column1,
column2
FROM Clients.#session.currentuser.user.SCHEMANAME#.accounts
</cfquery>
我无法找到一种方法来动态地完成这样的事情。这有效但对模式进行了硬编码。
<cfcomponent persistent="true" entityname="myaccounts" table="accounts" catalog="clients" schema="client1" >
<cfproperty name="id" column="id" generator="increment">
<cfproperty name="number" column="number">
</cfcomponent>
我尝试将动态变量放入模式属性中,但它似乎不起作用。我也尝试从cfcomponent中删除目录和架构属性,然后使用这样的命名策略但是出错。
public string function getTableName(String tableName){
return "Clients.client1." & arguments.tableName;
}
错误是“为cfc pathtocfc.cfcname定义的表Clients.client1.accounts不存在。”
如果我将目录添加回“客户端”并从命名策略中删除客户端,我会收到此错误:
为架构null和目录客户端中不存在为cfc pathtocfc.cfcname定义的表fnbo.accounts。