我跟着这个Symfony2/Doctrine guide,我来到了需要创建getter / setter的部分。但我坚持这部分:
$ php app/console doctrine:generate:entities Acme/StoreBundle/Entity/Job
我在网上搜索了可能的解决方案(似乎主要围绕着使用2个星号开始),但无法找到解决方案。
一些信息:
非常感谢:)
我的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
class <?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;
}
答案 0 :(得分:1)
你是否使用学说创建了你的实体?我在你的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/
阅读本文可能有所帮助:
答案 1 :(得分:0)
您是否尝试使用以下控制台命令?
$ 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