我有一个名为UserDegree的mysql数据库表,当我尝试使用Doctrine导回回PHP时,它会生成一个模型名称Userdegree,有没有办法解决这个问题?
我真的找不到任何好的学说文档。
谢谢!
答案 0 :(得分:2)
我不确定您的具体问题,但对于“好的学说文档”部分,您是否尝试过该手册?请参阅Doctrine ORM for PHP - 我认为它实际上非常好,特别是与其他项目相比,没有太多文档或完全过时。
关于你的问题(正如我之前所说的,不确定):我认为Doctrine从数据库中的表名中获取每个“单词”,并将其转换为PHP的“名称”。通常,表名中的“单词”用下划线“_
”分隔,并且都是较低的或两种情况。
我想,如果你将你的表命名为“user_degree
”而不是“UserDegree
”,那么该Doctrine应该检测到它由两个“单词”组成,并创建一个名为“{{的PHP类” 1}}“ - 实际上,我使用名为UserDegree
的表进行了测试,并生成了一个名为post_has_tag
的类。
答案 1 :(得分:1)
我最近还发现可以将所有数据库标识符保持为under_scores,同时让Doctrine生成camelCase'd代码。如上所述,它会自动发生在表名中。对于字段名称,可以使用YAML模式文件的别名功能(name:user_id as userId)将它们映射到camelCase。此外,您可以通过为Doctrine开发自定义任务来自动化字段别名。