2013-09-25 140 views
0

我不確定我是否正確使用MVC體系結構,如果我出錯了,就輕鬆點。從Cake中的另一個模型訪問模型方法

我有一個模型Account,從Holding模型獲取估值的負載。這兩個型號鏈接爲Account hasMany Holdings

在我的Account模型中,我有一個函數,用於從賬戶中檢索持有量的總和並將其排列在$date=>$value類型的數組中。

我有另一個單獨的模型,名爲FxRate,其表格是外匯匯率和日期的負載。在我的Account模型中,我想通過在FxRate表上運行查找來檢索fx費率數組,以便可以轉換之前檢索到的估值數組。

FxRate沒有鏈接到任何其他模型,我似乎無法從我的Account模型中的任何數據從它find。什麼是實現這一目標的正確方法?

回答

0

如果你在你的模型文件,你可以使用這個:

App::uses('FxRate', 'Model'); 
$FxRate = ClassRegistry::init('FxRate') // and not $FxRate = new FxRate(), see comments; 
$FxRate->find('all'); 

在你的控制器,而不是你可以使用loadModel

$this->loadModel('FxRate'); 
$this->FxRate->find('all'); 
+1

你永遠不應該直接實例模型!改爲使用['ClassRegistry :: init()'](http://api.cakephp.org/2.4/class-ClassRegistry.html#_init)。 – ndm

+0

所以正確的語法應該是'$ FxRate = ClassRegistry :: init('FxRate')'?謝謝你的評論。 – arilia

+0

這就是它應該是這樣的,是的。 – ndm

相關問題