Во-первых: я прочитал правила соглашения об именах из кулинарной книги CakePHP, так что не направляйте меня туда :) Возможно, я что-то неправильно понимаю, и если да, поправьте меня;)
У меня проблема в том, что у меня есть таблицы:
Тогда у меня были таблицы:
- item_has_quest_requirements
- quest_has_item_requirements
- quest_has_item_rewards
- quest_has_item_recommends
Это просто таблицы HABTM с двумя первичными ключами, соединяющими эти две таблицы. Теперь, некоторые из них также имеют свои собственные столбцы, поэтому я не поместил их в одну таблицу. Например, item_has_quest_requirements имеет только ключи, но quest_has_item_requirements также имеет поле amount , как и награды и рекомендует также.
Однако, если я следую соглашениям об именах CakePHP, мне НЕ следует использовать составные первичные ключи, и если я хочу соединить две таблицы вместе как таблицы HABTM, я должен именовать таблицы в алфавитном порядке по именам таблиц. Что означает AFAIK, что эти таблицы ВСЕ станут: items_quests таблиц, что невозможно.
Тогда единственный способ создать совершенно новую дополнительную таблицу, такую как:
quest_requirements , в котором будет столбец сумма , а затем таблица HABTM будет выглядеть следующим образом: items_quest_requirements ?
Это то, о чем я размышлял, поэтому не могли бы вы немного осветить, какой подход лучше?