我遵循Symfony2/Doctrine指南,已经到了需要创建getter/setter的部分。但我被这个部分卡住了:
$ php app/console doctrine:generate:entities Acme/StoreBundle/Entity/Job
我在网上搜索了可能的解决方案(似乎主要围绕着使用2个星号开始),但找不到解决方案。
一些信息:
- Bundle是正确加载的(通过AppKernel.php),因为我有一个测试"helloworld",这是有效的
- 命名空间路径正确
- Job.php存在于正确的文件夹中
- 我正在使用postgres作为我的数据库。我不确定这是否重要
- 我已经尝试过在模型类中使用和不使用Doctrine''ORM''Mapping行(代码见下文)
- 我不认为我在运行加速器,至少根据get_loaded_extensions函数任何想法都会很有帮助
非常感谢:)
我的settings.yml
片段
doctrine:
dbal:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
# if using pdo_sqlite as your database driver, add the path in parameters.yml
# e.g. database_path: "%kernel.root_dir%/data/data.db3"
# path: "%database_path%"
orm:
auto_generate_proxy_classes: "%kernel.debug%"
auto_mapping: true
Model
类
<?php
// src/MyApp/MyBundle/Model/Job.php
namespace MyApp'MyBundle'Model;
use Doctrine'ORM'Mapping as ORM;
/**
* MyApp'MyBundle'Model'Job
*
* @ORM'Entity
* @ORM'Table(name="myschema.jobs")
*/
class Job {
/**
* @ORM'Column(name="job_id", type="integer")
* @ORM'Id
* @ORM'GeneratedValue(strategy="AUTO")
*/
protected $jobid;
/**
* @ORM'Column(name="name", type="text")
*/
protected $name;
/**
* @ORM'Column(name="job_desc", type="text")
*/
protected $description;
/**
* @ORM'Column(name="personal_req", type="text")
*/
protected $requirements;
}
您是否使用条令创建实体?我在你的Job.php实体上看到你正在使用注释作为映射格式。
在错误的输出中,它说条令找不到任何映射的实体。我去过那里,它通过您的config.yml.的特定配置解决了
尝试在您的config.yml 上更改此项
doctrine:
dbal:
driver: "%database_driver%"
#etc
orm:
auto_generate_proxy_classes: "%kernel.debug%"
auto_mapping: false
mappings:
MyAppMyBundle:
type: annotation #On your case it should be annotation
dir: Resources/Model/
阅读这篇文章也许会有所帮助:
Symfony2中使用YAML 的条令映射
您尝试过使用以下控制台命令吗?
$ php app/console doctrine:generate:entities MyApp/MyBundle/Model
我希望它能起作用。您的实体命名空间与Acme/StoreBundle/Entity/Product
不同。您的实体在Model
directory/namespace
中,所以您应该使用命令的第一个参数一个有效的namespace
。所以下面的cmd会产生错误,正如您上面提到的那样。
$ php app/console doctrine:generate:entities Acme/StoreBundle/Entity/Product