0

我对 cakePHP 的 requestAction 对象有疑问。我想检索模型的最后 5 个结果,但我使用视图表。

所以在我的行动中,我把$this->Model->useTable = 'models_view';

但是当我调用我的操作时$this->requestAction(array('controller'=>'models','action'=>'lastFive'));,蛋糕使用默认表,而它应该使用我的视图表......

并且还给我一个错误,因为我在初始表中不存在的字段中使用了条件(但在我的视图中存在)。

如果有人有想法?谢谢

4

1 回答 1

1

在运行时更改Model->useTable不能正常工作,因为一旦模型被初始化,CakePHP 会缓存数据库表的模式。

要切换到另一个表并清除缓存模式,请使用

$this->MyModel->setSource('tablename');

这将使用“新”表的信息清除并刷新模型中缓存的模式信息。“表名”可以是“表”或数据库“视图”

文件;http://api.cakephp.org/2.3/source-class-Model.html#1100-1125

于 2013-03-18T20:28:24.740 回答