我遇到cakePHP的requestAction对象有问题。 我想检索我的模型的最后5个结果,但我使用视图表。
所以在我的行动中我放了$this->Model->useTable = 'models_view';
但当我通过$this->requestAction(array('controller'=>'models','action'=>'lastFive'));
致电我的行动时,
cake使用默认表,而它应该使用我的视图表...
并且还给我一个错误,因为我在我的初始表中不存在的字段中使用条件(但在我的视图中存在)。
如果有人有想法? 感谢
答案 0 :(得分:1)
在运行时更改Model->useTable
无法正常工作,因为一旦模型初始化,CakePHP就会缓存数据库表的模式。
要切换到另一个表并清除缓存的架构,请使用
$this->MyModel->setSource('tablename');
这将使用“new”表的信息清除和刷新模型中的缓存模式信息。 'tablename'可以是'table',也可以是数据库'view'
文档; http://api.cakephp.org/2.3/source-class-Model.html#1100-1125