【问题标题】:Symfony2 doctrine reverse engineering, can not generate code one to manySymfony2学说逆向工程,不能一对多生成代码
【发布时间】:2012-08-09 15:17:17
【问题描述】:

当我尝试使用 symfony2 学说逆向工程工具时,我有一对多的关系。例如:

A: id, name; B: id, a_id, name   

所以逆向工程工具给了我类似的东西:

class A{  
  private id;
  private name;
}
class B{
  private id, 
  private A a;
  private name;
}   

但我需要的是:

class A{
  private id;
  private Bs;
  private name;
}   

我怎样才能让教义工具为我生成这个?因为数据在变化,我不想每次数据库变化都重写。

【问题讨论】:

    标签: symfony doctrine


    【解决方案1】:

    我很抱歉成为坏消息的带来者,但你不能。唯一的选择是生成实体,然后自己添加细节。

    http://readthedocs.org/docs/doctrine-orm/en/2.0.x/reference/tools.html#entity-generation

    此命令不适合经常使用。它是一个小帮手 并且不能很好地支持所有映射边缘情况。你还在 使用此命令后必须在您的实体中进行工作。

    【讨论】:

    • 好吧,还是谢谢你。这真是一个坏消息。我只是认为它会像休眠一样。
    • 经过一番观察,我发现工具无法生成只有一对多。多对一和多对多都可以。
    【解决方案2】:

    也许你应该通过

    http://symfony.com/doc/current/book/doctrine.html

    我建议你更改实体文件,然后更新数据库。

    【讨论】:

    • 您知道,如果您的数据库中有 150 个表,有时这是不可能的。
    • 为什么表的数量很重要?您更改一个实体,然后更改“php 控制台原则:模式:更新 --dump-sql”。唯一真正成为问题的是您是否有其他人负责更新数据库。
    猜你喜欢
    • 1970-01-01
    • 2014-08-11
    • 2023-03-29
    • 2013-10-11
    • 2018-09-07
    • 1970-01-01
    • 2014-09-29
    • 1970-01-01
    • 2018-09-20
    相关资源
    最近更新 更多