быстрый вопрос, что у меня застряли с часами:CakePHP - MVC Model Associations - Как я могу структурировать эту модель данных?
Для моего проекта веб-сайта cakePHP (с использованием версии 2.0) У меня есть 2 модели. Они немного неясны, поэтому я переведу модель на стандартные модели сообщений блога.
Итак, у меня есть модель «Сообщений» и для многих «категорий».
class Post
$belongsTo = 'Category'
class Category
$hasMany = 'Post'
Пока все хорошо. Теперь я хочу, чтобы каждая категория имела ровно один (обязательный) «основной пост».
Как бы я связал это?
- Другая модель «MainPost»? Это кажется излишним, поскольку он будет иметь тот же контент, что и сообщения.
- Boolean 'is_main' column в сообщениях? Не кажется правильным, поскольку только одна должность каждой категории может быть «главной».
- Столбец 'mainpost_id' в категориях? Звучит неплохо, но «$ belongsTo» - единственная ассоциация, которая позволяет внешнему ключу находиться в текущем классе. И сказать, что Категория принадлежит To Post, когда противоположное тоже верно, мне кажется неправильным. Также принадлежит Too - это ассоциация «много-к-одному», и я хочу, чтобы это была ассоциация «один-к-одному».
Пожалуйста, помогите мне, [укажите название]. Ты моя единственная надежда. ;)
Редактирование: Я думаю, было бы здорово, если бы существовал способ «hasOne», но имел внешний ключ в том же классе, что и $ hasOne X, а не в другом, как стандартный.
В чем цель 'mainpost'? Быстрое решение состоит в том, чтобы добавить дополнительные поля в таблицу категорий для этой цели, и сделать это, чтобы ваши требования вряд ли изменились (вроде описания категории WordPress?) – Ross
Эй, Росс, это не похоже на описание , Цель этого заключается в том, чтобы иметь вид ребенка-плаката, который отображается, когда другие данные не указаны. Это точно так же, как и все другие сообщения, только что он помечен как ... допустим, «стандарт» для определенной категории. – KonstantinK