Phalcon中经常出现致命错误(ORM需要依赖注入器)

时间:2012-11-11 15:40:03

标签: php phalcon

以下致命错误的来源是什么?,我对此一无所知并经常发生:

<b>Fatal error</b>:  Uncaught exception 'Phalcon\Mvc\Model\Exception' with message 'A dependency injector container is required to obtain the services related to the ORM' in [no active file]:0
Stack trace:
#0 [internal function]: Phalcon\Mvc\Model-&gt;serialize()
#1 {main}
  thrown in <b>[no active file]</b> on line <b>0</b><br />

Phalcon 0.6

更新: 我的项目是invo示例项目的一个修改版本。目前我有其用户模型。我只修改了INVO项目的ACL。如何更详细地记录Phalcon堆栈跟踪。

    $di->set('db', function() use ($config) {
        return new \Phalcon\Db\Adapter\Pdo\Mysql(array(
            "host" => $config->database->host,
            "username" => $config->database->username,
            "password" => $config->database->password,
            "dbname" => $config->database->name
        ));
    });

由于我网站的MVC结构,我无法轻易提供产生此错误的示例代码。当第一页出现此错误时,它将显示在所有后续页面中。

1 个答案:

答案 0 :(得分:1)

您是否设置了模型管理器和元数据管理器,如下所示:

    // Set Models manager
    $this->_di->set(
        'modelsManager',
        function()
        {
            return new \Phalcon\Mvc\Model\Manager();
        }
    );

    // Set Models metadata
    $this->_di->set(
        'modelsMetadata',
        function()
        {
            return new \Phalcon\Mvc\Model\Metadata\Memory();
        }
    );