2012-02-02 6 views
1

Я не уверен, как действовать для моей схемы базы данных и для моих ассоциаций моделей, любая помощь будет оценена!Cakephp hasmany, принадлежит ассоциациям нужна помощь

Okei, здесь он идет;

Модель 1: Сообщение (идентификатор, название, category_id, tag_id, тело, создание, изменение) Model 2: Категория (идентификатор, название, описание, создание, изменение) Model 3: Tag (идентификатор, название, описание, созданный, измененный)

Проблема Mu заключается в том, как «построить» таблицу базы данных, чтобы можно было использовать несколько тегов и категорий с ассоциациями.

Пример: если 1-й член принадлежит категории category_id = 1 и hasMany Tag, tag_id: 1, 3, 8, 99 Пример2: Если запись 2 принадлежит категории_id = 1,5 и hasMany Tag, tag_id: 1, 8, 43

В целом, я не уверен, с какой схемой идти и с лучшей практикой, чтобы допускать множественные ассоциации.

Любые предложения?

Спасибо! -Tom

ответ

1

Самый простой способ реализовать это - использовать таблицу поиска или соединения. Cake использует так называемое отношение «имеет и имеет отношение к многим» (HABTM) для этих случаев, что является типом отношений «многие-многие».

Посмотрите at the manual entry for HABTM, чтобы иметь дело с таким сценарием. В руководстве упоминается сопоставимая установка, к которой вы стремитесь.

В вашем случае вы бы posts и tags таблицы, которые соединены с помощью таблицы поиска под названием posts_tags, содержащей post_id и tag_id столбцов. Если вы правильно определяете отношение HABTM в своей модели сообщений, Cake будет знать, как правильно использовать три таблицы при сохранении, поиске и обновлении данных.

Смежные вопросы