我正在将网站迁移到Symfony2。该站点具有表,其中主键整数具有名称,遵循表名+“id”的约定。例如。表“节点”具有主键“nodeid”。
一方面,这意味着复杂的查询更容易阅读和理解。另一方面,当Doctrine想要为每个表使用“id”时,一直写一个唯一的id名称是一件麻烦事。
在Symfony2 / Doctrine2中命名主键是否有最佳实践或标准约定?谢谢!
答案 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;