使用Doctrine ORM时,是否有关于命名表格的约定?我喜欢用复数来命名表格,但如果有约定,我希望遵循它。
例如表格'users'将与使用fk作为单数形式('user_id')的表格相关联。
在使用单数或复数表格名称时,是否有最佳实践呢?如果采用后者,则如何适用于复数不仅仅是添加's'的表格?
例如,我目前有一个名为'categorys'而不是'categories'的表格,以保持添加's'的惯例。这种方法合理吗?
使用Doctrine ORM时,是否有关于命名表格的约定?我喜欢用复数来命名表格,但如果有约定,我希望遵循它。
例如表格'users'将与使用fk作为单数形式('user_id')的表格相关联。
在使用单数或复数表格名称时,是否有最佳实践呢?如果采用后者,则如何适用于复数不仅仅是添加's'的表格?
例如,我目前有一个名为'categorys'而不是'categories'的表格,以保持添加's'的惯例。这种方法合理吗?
我曾经在使用自己的基本ORM时使用复数表名,但当我开始使用Symfony + Propel以及现在一点Doctrine时,我改为使用单数表名。原因是因为类名应该是User而不是Users。
对于集合或关系,使用Doctrine时,您需要告诉它别名应该是什么:
http://www.doctrine-project.org/projects/orm/1.2/docs/manual/working-with-models/en
您会看到一个User可以有多个Phonenumber,因此在YAML模式中设置了一个foreignAlias,以便通过$user->Phonenumbers有效地访问Phonenumbers。
在您的示例中,您将设置foreignAlias为Categories,同时保留表和记录命名为Category。
$user->Phonenumbers
使用...而不是:
$user->Phonenumberss