【发布时间】:2009-12-06 19:08:00
【问题描述】:
我在我的项目中使用 Doctrine 作为 ORM,但遇到了一个奇怪的错误:
使用以下 YAML:
Album:
tableName: dpp_album
actAs: [Timestampable]
columns:
name: string(255)
description: string(255)
online: boolean
然后我生成我的模型,但在刷新我的页面并自动加载模型时,PHP 会出现此错误:
致命错误:类 'BaseAlbum' 不是 在发现 E:\sites\dpp\system\application\models\Album.php 在第 13 行
奇怪的是,我所有的其他模型都很好,并且在这些情况下可以找到基类。
将“专辑”名称更改为“设置”之类的名称时,它可以正常工作!是不是很奇怪?!
因此,尽管错误消息暗示了其他内容,但使用“专辑”似乎存在某种冲突。改成复数Albums也没用,其他都行!
有什么建议吗?
谢谢!
【问题讨论】:
-
根据您的描述,我猜“Album”是该 ORM 的保留关键字。也许有一种方法可以使用分隔符来规避这个......
-
我也是这么想的,不过如果是这样的话,那就太奇怪了!但是在搜索文档和源代码时,我找不到任何名为“专辑”的东西...... :-(
-
google.com/… Google 代码也发现了 Album 类的用途。
-
当然可以,它是模型的通用名称,但不包含在标准 Doctrine 分布中。