命名Symfony2 / Doctrine主键的最佳实践

时间:2011-08-07 13:47:38

标签: doctrine-orm symfony

我正在将网站迁移到Symfony2。该站点具有表,其中主键整数具有名称,遵循表名+“id”的约定。例如。表“节点”具有主键“nodeid”。

一方面,这意味着复杂的查询更容易阅读和理解。另一方面,当Doctrine想要为每个表使用“id”时,一直写一个唯一的id名称是一件麻烦事。

在Symfony2 / Doctrine2中命名主键是否有最佳实践或标准约定?谢谢!

1 个答案:

答案 0 :(得分:3)

实体属性的名称完全独立于数据库中列的名称。

/**
 * @orm:Entity()
 * @orm:Table(name="custom_table_name")
 */
class Node {
    /** 
     * @orm:Id @orm:Column(type="integer", name="custom_id_name_eg_node_id")
     * @orm:GeneratedValue(strategy="AUTO")
     */
    protected $id;
}

SELECT n.id FROM Node n; DQL查询生成的SQL查询:

SELECT u1.custom_id_name_eg_node_id FROM custom_table_name u1;