Лучшая практика именования Symfony2 / Doctrine Primary Keys - PullRequest
2 голосов
/ 07 августа 2011

Я перевожу сайт на Symfony2.На сайте есть таблицы, в которых у целого числа первичного ключа есть имя, в соответствии с соглашением имя таблицы + «id».Например, таблица «Node» имеет первичный ключ «nodeid».

С одной стороны, это означает, что сложные запросы легче читать и понимать.С другой стороны, довольно сложно писать уникальное имя все время, когда Doctrine хочет использовать «id» для каждой таблицы.

Существует ли передовая практика или стандартное соглашение для именования первичных ключейв Symfony2 / Doctrine2?Спасибо!

1 Ответ

3 голосов
/ 07 августа 2011

Имя свойства объекта полностью не зависит от имени столбца в базе данных.

/**
 * @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 n.id FROM Node n; DQL-запрос:

SELECT u1.custom_id_name_eg_node_id FROM custom_table_name u1;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...