很容易为学说自动生成模型。
php vendor/bin/doctrine orm:generate-entities
或者从现有数据库导入它 php app / console doctrine:mapping:import --force AcmeBlogBundle xml
但命令只生成我的映射。它也有机会用关系生成类。
因此模型具有类似的方法。
/** @OneToMany(targetEntity="Comment", mappedBy="article") */
private $comments;
public function __construct()
{
$this->comments = new ArrayCollection();
}
使用update-entities或regenerate-entities等选项?
php doctrine orm:generate-entities --update-entities
php doctrine orm:generate-entities --regenerate-entities
有没有这样的工具?我的用例是一个cms,用户可以轻松地从配置文件中生成自己的数据模型。他不应该被迫用关系写自己的班级 (内容管理员的错误修剪)。
答案 0 :(得分:0)
Documentation of Doctrine提到该学说只能生成70-80%的映射信息。这意味着它无法检测反向关联,继承类型,具有外键的实体。您需要为此做一些额外的工作。但我同意这对任何未来的学说版本来说都是一个很好的特性。
我的建议是不要总是依赖学说的进口。
答案 1 :(得分:0)
如果您使用的是Symfony 2,可以尝试使用命令
php app/console doctrine:generate:entities
其文件说
从映射信息生成实体类和方法存根
我从未使用它,所以我不知道它是否能够检测并产生关系。