Простое решение состоит в том, чтобы следовать соглашениям Cake (которые будут очень похожи на решение, с которым вы связаны). У вас будет три стола:
posts
, tags
, posts_tags
Тогда ваша Post
модель HABTM Tag
модель. Соединительная таблица будет автоматически использоваться Cake для сохранения и извлечения информации. Проверьте книгу для получения дополнительной информации о настройке вашей схемы.
Cake достаточно гибок, когда вы можете делать это как хотите, но если это базовый вид отношения пост-тегов, то лучше всего использовать метод соглашения.
Если вы хотите использовать пользовательскую модель / таблицу, такую как PostsTagMaps
, то сделайте это, используя клавишу «с» в определении отношения HABTM. Клавиша «с» указывает Cake использовать определенную модель (и, следовательно, конкретную таблицу) вместо автоматически сгенерированной версии. В этом случае ваша модель тега звучит так, как будто она PostsTags
, а таблица HABTM - PostsTagMaps
, поэтому клавиша «с» на Post
HABTM PostsTag
будет PostsTagMap
.
.