【发布时间】:2023-03-07 16:58:01
【问题描述】:
从 Cake 1.3 升级到 2.0 后,我的所有使用数据库 视图 而不是表的模型都出现了丢失表错误。我使用表格的模型仍然可以正常工作。将这些模型更改为使用表格可以解决问题,但我需要视图。
过去这是有效的,如this question shows;视图就像表格一样工作。然而,在迁移到 Cake 2.0 之后,我得到:
错误:找不到模型 myModel 的数据库表 myView
这是一个模型类示例:
class Hauler extends AppModel
{
var $useTable = 'hauler_view';
var $primaryKey = 'id';
var $useDbConfig = 'default';
}
视图 hauler_view 存在并在 1.3 中的应用程序中工作。如果我将模型设置为读取该物理表,则将视图中的相同数据复制到物理表中将起作用。
我已经确认我可以通过 Cake 的原始 SQL 函数访问数据库视图,所以我可以访问这些视图,只是模型没有看到“表”。
如果这很重要,我正在使用带有 sqlsrv 驱动程序的 SQL Server 2005。我的服务器上安装了 SQL Server 2008 Native Client,它允许这个版本的 cake 访问 SQL Server。
有没有办法让 CakePHP 2.0 中的模型使用视图而不是表?
我解决了this related problem,所以我现在知道我的数据库驱动程序运行正常,不是问题。
【问题讨论】:
标签: database cakephp cakephp-2.0