2011-10-17 46 views
2

爲什麼在使用ORM的ColdFusion中這不起作用?我沒有得到任何錯誤,但getval2()是空白使用ORM初始化函數設置非持久屬性中的值的ColdFusion

property name="ID" type="string" fieldtype="id" generator="guid"; 
property name="val1" type="string"  ormtype="string" persistent=true; 

property name="val2" type="any"  persistent=false default=""; 

public statsEntity function init(){ 

    variables.val2= this.getval1(); 

    return Super.init(); 
} 

什麼,我認爲應該發生的事情是getval2()應該是VAL1的價值。

任何想法,爲什麼不是這種情況?

ORMExecuteQuery( 「從myTable的」)

+0

對象加載時'val1'的值是什麼? –

+0

val1一個如果我轉儲=「測試」奇怪的事情是如果我做... variables.val2 =這我得到所有的實體,即ID,Val1。所以這個「這個」的確具有一切。也許我需要像這樣訪問它[1] .val1? – Niklas

+0

事件陌生人,如果我做writeDump(變量);中止;在init()函數中,我得到了'實體'中的所有內容,就像第一次創建它一樣,然後在轉儲[空字符串]結尾處出現錯誤。我不認爲使用ORMExecuteQuery(「from myTable」)甚至嘗試使用ORMExecuteQuery(「from myTable」).init()時沒有錯誤,但結果相同。我能看到的唯一的東西是default =「」,它在我看來只是它創建的對象不會更新它的值 – Niklas

回答

3

不知道我理解正確,但的init()只能運行在新enitity所以不會在這裏工作負荷後嘗試()不是的init()。

+0

很酷這個工作!謝謝我創建了一個新函數並添加了variables.val2 = variables.val1,它的工作原理是 – Niklas

+0

ORM的事件處理程序:http://www.aliaspooryorik.com/blog/index.cfm/e/posts.details/post/introducing- the-coldfusion-9-orm-event-handler-216 – Prometheus

+0

Nice catch Spark :) –

相關問題