问题描述
我正在 http://www.Doctrine-project.org/上编写 Doctrine 教程 当我尝试运行生成模型并在数据库中创建表的 generate.php 脚本时收到致命错误:
I'm working on the Doctrine tutorial at http://www.Doctrine-project.org/ and I receive a fatal error when I try to run my generate.php script which makes my models and makes tables in the database:
Fatal error: Class 'BaseCharity' not found in ...modelsCharity.php on line 14
生成.php:
require_once('bootstrap.php');
Doctrine_Core::dropDatabases();
Doctrine_Core::createDatabases();
Doctrine_Core::generateModelsFromYaml('schema.yml', 'models');
Doctrine_Core::createTablesFromModels('models');
和 schema.yml
and schema.yml
Charity:
actAs: [Timestampable]
columns:
active:
type: boolean
default: '1'
owed: decimal(32,2)
totalPayed: decimal(32,2)
name: string(255)
website: string(255)
description: text
icon: string(255)
我对此感到很困惑,我可以让它正确地创建其他非常相似或更复杂的表.我也试过重写它.我真的不知道这个错误是从哪里来的.
I am quite stumped by this, I can get it to correctly create other tables that are very similar or much more complicated then this one. I've tried rewriting it as well. I really have no clue where this error is coming from.
推荐答案
你需要用Doctrine提供的自动加载器注册模型.无需使用任何迭代器或其他任何东西
You need to register the models with the autoloader provided by Doctrine. No need to use any Iterators or what so ever
Doctrine::loadModels('path/to/your/models');
你当然可以多次使用它:
You can of course use it sevaral times:
Doctrine::loadModels('path/to/your/models/generated');
Doctrine::loadModels('path/to/your/models/custom');
Doctrine::loadModels('path/to/your/models');
这篇关于使用 generate.php 时出现致命错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!