Рассмотрим такой шаблон (вопросы размещены ниже):
Допустим, я опубликовал статью о Суперкубке и отметил его в категории «Спорт». В моей таблице статей у меня есть флаг для избранных или нет, а также флаг для основной статьи. Так что, если я проверю основной флаг, он появится в качестве основной статьи. Если я опубликую другую основную статью днем позже, она будет удалена из основной области № 1, если я не удалю последнюю основную статью, она не будет отображаться в области № 2 или области № 3.
Вопрос № 1: Я мог бы решить эту проблему, обновив свою логику SQL для области № 2, проверив как основные, так и популярные статьи, и исключив последнюю основную статью. Будет ли это идеальным способом справиться с ситуацией, если бы я хотел, чтобы она перешла к обычным статьям?
Вопрос № 2: Но если бы я сделал свою логику sql полностью на основе последних опубликованных материалов, и пользователь хотел бы указать статью в качестве основной, независимо от даты, я должен добавить дополнительную логику для этого ? Так, например, на протяжении всей таблицы статей может быть только одна основная запись за раз. Или я должен заставить пользователя обновлять дату статьи, поэтому основным является требование, чтобы главная публикация была последней?
Вопрос № 3: И скажем, после того, как моя статья в Суперкубке поворачивается с основной, чтобы стать первой, второй, третьей, четвертой статьей, я хотел, чтобы она появилась в списках моей категории в качестве первой статьи в разделе «Спорт» - для этого мне нужно будет сбросить основные и показанные флаги, имеет ли смысл добавлять код в мой код отправки статьи, чтобы в нем одновременно было только 4 признака и 1 основной? Очевидно, что если кто-то удаляется, он не может сместиться назад.
Буду признателен за советы по организации и логике отображения.