#cakephp-2.0 #belongs-to
#cakephp-2.0 #принадлежит
Вопрос:
У меня есть таблица уведомлений следующим образом :
id
parent_type
parent_id
parent_type может быть историей, главой или контентом
Я хочу указать модель уведомлений :
-если parent_type равен story, то parent_id будет внешним ключом в Story -если parent_type равен chapter, то parent_id будет внешним ключом в Chapter -если parent_type равно content, то parent_id будет внешним ключом в Content
Возможно ли это?
Спасибо
Ответ №1:
Когда вы смотрите в книгу здесь:
http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#belongsto
в нем говорится, что вы можете задать условия в определении belongsTo. Таким образом, вы можете определить три разные ассоциации принадлежности с разными условиями, например:
public $belongsTo = array(
'Story' => array(
'className' => 'Story',
'foreignKey' => 'parent_id',
'conditions' => array('Notification.parent_type' => 'story')
),
...
);