Метод вызова ColdFusion ORM из EntityLoad в cfscript - PullRequest
2 голосов
/ 18 января 2012

Я пытаюсь сделать что-то, что мне показалось довольно простым, но я не могу заставить его работать. Я называю EntityLoad так:

<cfscript>

   transaction {

       dataLoad = EntityLoad("trans");  
   }

</cfscript>

Теперь, если я сделаю это на основе тегов, я могу пройти по нему и вызывать методы, подобные этому:

<cfloop array="#dataLoad#" index="x">

    <cfoutput>#x.getCompanyName()#</cfoutput>

</cfloop>

Но я пытаюсь сделать это в cfscript. Самое близкое, что я могу придумать, это:

<cfscript>

    for (x=1;x <= ArrayLen(dataLoad);x=x+1){

        writeOutPut(dataLoad.companyName());            

    }

</cfscript>

Я знаю, что цикл for в cfscript не совпадает с массивом cfloop. В cfscript нет эквивалента массиву cfloop?

Если нет, то как я могу вызвать методы в EntityLoad из cfscript?

Заранее спасибо за любую помощь.

Ответы [ 3 ]

5 голосов
/ 18 января 2012
for ( var x in dataLoad ) {
 x.getCompanyName();
}
1 голос
/ 18 января 2012

Попробуйте это:

<cfscript>

transaction {
    dataLoad = entityLoad("trans");
}

for ( var i = 1; i <= arrayLen( dataLoad ); i++ ) {
    writeOutput( dataLoad[i].companyName() );
}

</cfscript>

В cfscript при циклическом выполнении массива необходимо указывать индекс для каждой итерации.

1 голос
/ 18 января 2012

Заменить

writeOutPut (dataLoad.companyName ());

с

writeOutPut (dataLoad [х] .getCompanyName ());

Это должно исправить ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...