我有一个表通知如下:
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
中的外键这可能吗?
谢谢
答案 0 :(得分:0)
当你在这里看书时:
http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#belongsto
它说,您可以在 belongsTo 定义中设置条件。因此,您可以定义具有不同条件的三种不同的 belongsTo 关联,例如:
public $belongsTo = array(
'Story' => array(
'className' => 'Story',
'foreignKey' => 'parent_id',
'conditions' => array('Notification.parent_type' => 'story')
),
...
);