У меня есть отношение, представленное в MySQL, которыйCakePHP: Использование таблицы объединения в отношениях, не HABTM
Classified belongsTo Category
Category hasMany Classifieds
Раньше я имел Classified.category_id
множество, но некоторые объявления не имеют категории, и многие категории делают нет рекламы. Это соотношение необязательно.
Я нормализовал базу данных для представления базы данных в третьей таблице, category_classifieds.
categories_classifieds
----
classified_id (primary, not null)
category_id (not null)
Причина этого была нормализована таким образом, чтобы избежать нулевых значений, а также
Я пытаюсь создать модели для базы данных в CakePHP 2, и не кажется, что будет поддержка этого простое отношение. Это возможно? Содержит ли таблица соединения categories_classifieds
в своей собственной модели?
Заранее благодарим за понимание.
Вот гусиные ноги обозначения ER диаграмма тока и предложенные схемы: http://i.stack.imgur.com/1BBVV.jpg
Не может быть проблемы с совпадениями мощности между CakePHP и MySQL? MySQL не будет терпеть нарушение ключа, но я не хочу, чтобы конечные пользователи отображали проблемы с ошибками нарушения ключа ... –
Это основное отношение к пирогу, поэтому почти все его используют, и он отлично работает. Невозможно выявить какие-либо ключевые нарушения, если вы правильно настроите свои модели и базы данных, просто следуйте соглашениям и здравому смыслу. Например, если вы удаляете «Категория», очевидно, что все соответствующие строки из таблицы взаимосвязей тоже должны идти. Это может быть сделано Cake в обратном вызове 'Category :: beforeDelete()' или MySQL (вам нужно установить 'CASCADE', если я правильно помню) или и то, и другое (так что если вы пропустите что-то в бизнес-логике, DB позаботится его). Я лично позволил ему работать с БД. – user221931