@tempick

Как правильно хранить статус поста/объявления/прочего?

На сайте в бд должны храниться записи, у каждой есть статус: опубликовано/отклонено/на модерации.
Как правильно хранить этот статус?
Решение "в лоб" - сделать поле "статус" типа tinyint и где 1 - это опубликовано, 0 - отклонено, 2 - на модерации. Но насколько это правильно?
Или сделать отдельную таблицу "статус", где будут храниться все статусы, а в таблице с записями сделать поле "status_id", которое будет ссылаться на таблицу со статусами? Или ещё как-то по-другому?
  • Вопрос задан
  • 897 просмотров
Решения вопроса 1
myks92
@myks92
Нашёл решение — пометь вопрос ответом!
Где хранить?
1. Если вам нужно менять название статусов через пользовательский интерфейс и постоянно добавлять/удалять/редактировать, то статусы должны храниться в базе данных в отдельной таблице с настроенными ключами.
2. Если статусы меняются редко, то вы в вправе их реализовать на уровне кода (в классе константами или другим способом).

Как хранить: строка или число?
1. Если вы гонитесь за каждой миллисекундой в запросах, то используете число.
2. Если вы хотите работать с базой данных на более понятном человеку языке, то используйте строчное состояние статусов (new, reject, closed, cancel, active...). Работать с такими данными куда проще, чем запоминать что значит 1, а что значит 2 и т.д.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы