zend模型 - 找不到适配器错误

时间:2010-10-16 10:34:37

标签: php zend-framework

在我的php项目中定义了不同的模型和modelMappers。

我的文件夹结构如下

-application
--models
---DbTable
----modelName
---modelMapperName

modelName.php
class Application_Model_DbTable_ModelName extends Zend_Db_Table_Abstract{

}

modelMapper.php
class Application_Model_ModelMapper
{
}

每当我尝试通过在控制器中创建我的mapper实例来访问我的数据库中的值时,我会收到消息找不到Application_Model_DbTable_ModelName的适配器

我认为这可能是自动加载器的问题,并在引导程序中添加了以下代码,

$loader = new Zend_Application_Module_Autoloader(array(
'namespace' => 'Application',
'basePath' => APPLICATION_PATH
));

$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->setFallbackAutoloader(true);

return $loader;

但它仍然没有用,有谁能帮我弄明白我哪里出错了?

谢谢。

3 个答案:

答案 0 :(得分:1)

此错误与数据库初始化有关...

您必须在application.ini中配置数据库适配器:

resources.db.adapter            = "pdo_mysql"
resources.db.params.host        = "localhost"
resources.db.params.username    = "user"
resources.db.params.password    = "password"
resources.db.params.dbname      = "db"

或者您也可以在引导程序文件中配置数据库适配器:

$db = Zend_Db::factory("pdo_mysql", $params);
Zend_Db_Table::setDefaultAdapter($db);

答案 1 :(得分:0)

由于变量APPLICATION_PATH返回应用程序文件夹的完整路径,请尝试仅命名类

Model_DbTable_ModelName

答案 2 :(得分:0)

我发现我试图访问的变量没有以下划线开头,并且创建的模型的大写问题导致了问题。

谢谢大家的帮助