CF9 ORM динамическая схема - PullRequest
0 голосов
/ 12 января 2012

Я бы хотел сделать что-то подобное с помощью встроенного в ORM Adobe ColdFusion:

<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;
}

Ошибка: «Таблица Clients.client1.accounts, определенная для cfc pathtocfc.cfcname, не существует».

Если я добавлю обратный каталог в качестве «клиентов» и удаляю клиентов из именования, я получаю эту ошибку:

Таблица fnbo.accounts, определенная для cfc pathtocfc.cfcname, не существует в нулевой схеме и клиентах каталога.

...