2
我正在將網站遷移到Symfony2。該站點具有主鍵整數具有名稱的表,遵循表名+「id」的約定。例如。表「節點」具有主鍵「nodeid」。命名Symfony2/Doctrine主鍵的最佳實踐
一方面,這意味着複雜的查詢更容易閱讀和理解。另一方面,當Doctrine想要爲每個表使用「id」時,始終寫一個唯一的id名是一件麻煩事。
在Symfony2/Doctrine2中是否有命名主鍵的最佳做法或標準慣例?謝謝!
我正在將網站遷移到Symfony2。該站點具有主鍵整數具有名稱的表,遵循表名+「id」的約定。例如。表「節點」具有主鍵「nodeid」。命名Symfony2/Doctrine主鍵的最佳實踐
一方面,這意味着複雜的查詢更容易閱讀和理解。另一方面,當Doctrine想要爲每個表使用「id」時,始終寫一個唯一的id名是一件麻煩事。
在Symfony2/Doctrine2中是否有命名主鍵的最佳做法或標準慣例?謝謝!
實體屬性的名稱完全獨立於數據庫中列的名稱。通過SELECT n.id FROM Node n;
DQL查詢產生
/**
* @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;
}
SQL查詢:您使用的是實體配置什麼
SELECT u1.custom_id_name_eg_node_id FROM custom_table_name u1;
?陽明海運/註解/ XML? – Problematic
註釋。我看到了答案 - 我沒有意識到,學說的實體財產可以有不同的名稱。不過,作爲一種實踐,我將開始使用「id」作爲主鍵,然後使用表名+「_id」(例如,node_id)作爲外鍵時使用該主鍵。這似乎與Doctrine的文檔相匹配。謝謝! – Acyra