Я относительно новичок в CakePHP, и я пишу приложение CakePHP, которое в настоящее время имеет модель автора и модель книги. И у автора, и у книги есть отношения «многие ко многим».
Однако я хотел бы дополнительно для каждого отношения автор-книга иметь соответствующую ссылку на блог этого автора, где они размышляют о своем опыте написания этой книги.
Если это сбивает с толку, следующие параграфы попытаются уточнить мою ситуацию, чтобы прояснить мою ситуацию:
Для каждого автора для каждой книги будет по одной статье о своем опыте. Если посмотреть на эту взаимосвязь в обратном порядке, это означает, что для каждой книги будет одна соответствующая ссылка для каждого автора (учитывая, что у книг может быть несколько авторов), где этот автор описывает свой опыт написания книги.
Другими словами, для каждой пары (Автор, Книга) я хотел бы иметь возможность хранить связанный URL.
В более причудливых, абстрактных математических терминах, которые я буду использовать ужасно и неправильно: у меня есть неориентированный граф, где каждая вершина является Автором или Книгой, и каждое ребро имеет Автора для одной вершины и Книгу для другой. Это звучит немного сбивающе с толку, но (я думаю) оно описывает мою ситуацию настолько точно, насколько я могу это сделать.
Учитывая приведенное выше описание, я хочу знать, могу ли я прикрепить произвольные данные к любому заданному краю этого отношения, и получить его позже.
В настоящее время у меня есть третья модель, AuthorBook, которая действует на грани графа.
Автор имеет отношение hasMany к AuthorBook.
У книги есть отношение hasMany к AuthorBook.
AuthorBook имеет отношение ownTo с Author и Book, и дополнительно имеет поле url.
Это решение работает, но меня почему-то беспокоит тот факт, что Book не связан напрямую с Author. Есть ли способ добиться того же эффекта, при этом вырезав модель AuthorBook из картинки?
(Кроме того, я понимаю, что могу связать их напрямую, сохраняя AuthorBook, но это кажется уродливым и излишним.)
(Кроме того, я понимаю, что у меня все равно будет SQL-таблица author_book. Меня это нисколько не беспокоит, я думаю, что без нее все равно невозможно.)
Спасибо за уделенное время! И, пожалуйста, не плачь меня !!!