2013-09-25 107 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

相关问题