CF9 ORM动态架构

时间:2012-01-11 21:37:56

标签: sql orm coldfusion coldfusion-9

我想用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。

0 个答案:

没有答案