А сравнивать на больше/меньше это както очень странно, зачем? Зачем сравнивать true и false на больше/меньше?Ну, как минимум, сортировка? То есть по полю будет сортировка, но совершенно неочевидным способом, по порядку значений в наборе... Что кстати еще менее очевидно чем сортировка по тру/фалс (которая внутри тиниинт). Это если для мускуля, для пхп это просто еще одно ограничение на уровне кода, которое "просто есть".
Поэтом когда автор статьи писал "если в дополнение к названию континента требуется сохранить его площадь", то это тоже самое как в tinyint захотеть "напихать" букв.Это к тому что связная таблица удобна в плане расширения, в то время как енум статичен по сути. И да, статья больше предупреждает о том что с енум есть специфика, которую нужно учитывать, так как многие пытаются из енум поиметь замену связям.
3. Невозможно добавить дополнительную информациюВерно, там где не предполагается жесткое ограничение по количеству значений, енум лучше не использовать. Про буквы и цифры сравнение странное, поле int мы можем набить "бесконечным" количеством значений, на свое усмотрение, в отличие от енум, где собственно это ограничение и является "фишкой" формата.
Это не проблема Enum, это мы неправильно выбрали тип данных.
6. Нельзя использовать список ENUM в других таблицахНу, как бы смысл поля заменить связи на внутреннее представление, по этому да, связи по этому полю по сути не нужны. И это как бы противоречит
Сложно назвать это очень существенным недостатком.
4. Получение списка уникальных значений ENUM - больтак как именно для этого и храним уже готовые варианты, а не для того чтобы еще делать враперы для данных на стороне ЯП.
Это только кажется правильным, но подставлять значения прямо из БД не очень хороший вариант, мы и для boolean можем выводить true/false, но это просто ленивый подход.
значения перечисления никогда не являются < или > друг с другом, поскольку эти сравнения не имеют смысла для объектов.(с) дока.
в подготовленных запросах как бы сканируется вся таблица категорий - их у меня 27.Нет, не сканируется. Код либо сильно укорочен, либо (что вероятнее) вообще не имеет смысла.
а в гет по ссылке я передаю номер категории только для связиНе только, а именно для связи. Очень интересны другие варианты этой передачи в вашем понимании...
в принципе сейчас есть мысли что вообще можно не передавать в гет лишнюю инфу, а просто сделать функцию чтолиНу да, а номер категории брать из информационного поля вселенной...
но я не волшебник - только учусьВот! Вы подходите к программированию как какой-то магии - махнул мышкой, написал категориус выбирайтус - и готово. Зачем учить как работает магия внутри?
а сама страница грузится 28 секунд.Немного конкретики: "Грузится страница" и "выполняется код бэкенда" - разные вещи.
не наткнулся на практикуЯ не говорил что в книжках есть практика. Я написал "нужна практика". Читаете - решаете что-то по теме. Банально по цсс создаете 3-4 элемента и смотрите как свойства работают.
В скобках должно быть название колонки в которой делаешь вычислениенет, не должно.