Создание блога

miketomlin

Новичок
Ну это как-то костыльно...
В чем костыльно?..

Независимо от того, какие идентификаторы нужны в адресах, имена обязательных полей всегда одинаковы. Если по минимуму, то id может быть единственным обязательным полем. Двоякость типа поля проще поддерживать, чем двоякость имени поля с идентификаторами для адресов. Если не дублировать числовые id в слагах, когда слагов по сути нет. Но а если дублировать, то «как-то костыльно» делать выборку по таким слагам вместо числовых id.
 
Последнее редактирование:

firep91613

Новичок
Смотрю сейчас схему комментариев у вордпресс. Там у таблицы comments есть внешний ключ post_id, ну это понятно. И есть parent, видимо для реплик. Правильно ли я понимаю, что эта колонка нужна чтобы хранить id коммента, к которому эта реплика относится?

Ну т.е. нажимая на кнопку "ответить", JS'ом вставляется форма и отправляется со всеми данными тоже аяксом, в том числе и id коммента, которому ответили. И этот id пишется в колонку parent. Сама колонка nullable по умолчанию. Так чтоли получается?
 

miketomlin

Новичок
Я думаю у каждой колонки должно быть свое предназначение. Можно и слаг и айди хранить. Тут, например и айди и слаг - Создание-блога.88142/page-14
Так упомянутый подход этому не мешает. Когда ты объединяешь в адресе слаг и числовой id, числовой практически всегда первичен, а слаг играет роль оформительского довеска. В этом случае будут поля id и, например, slug. Когда в адресе используется только слаг, он является полноценным идентификатором, но при этом числовой, естественно, никто не запрещает использовать. В этом случае слаг будет в поле id, а числовой идентификатор в поле с другим именем. Есть как мин. еще два формата имени помимо просто id. У нас такое поле обычно называют в соответствии с описываемой сущностью и именем таблицы, например user в таблице prefix_user. У фреймворков много заточенных под это дело методов и функций. Но в принципе и это не обязательное требование, например я часто называю таблицы сущностью во можественном числе, а поле с числовым id – в единственном или еще короче: post в таблице prefix_posts, art в таблице prefix_articles. Смысл в том, что во всей БД поля с одинаковыми идентификаторами могут называться одиково, ну и доп. бонус – USING(field).
 
Последнее редактирование:
Сверху