我有一个名为'Model_Announcement'的模型,它扩展了Model_Soft,另一个名为'Model_Announcement_Comment'的模型扩展了Model_Nestedset。
他们之间的关系是: Model_Announcement:
protected static $_has_many = array(
'comments' => array(
'key_from' => 'id',
'model_to' => 'Model_Announcement_Comment',
'key_to' => 'announcement_id',
'cascade_save' => true,
'cascade_delete' => true,
),
);
Model_Announcement_Comment:
protected static $_belongs_to = array('user', 'announcement');
创建评论工作正常但删除公告会抛出'Orm \ RelationNotSoft'错误,因为公告评论是嵌套模型而不是软。
关于如何使这项工作的任何想法?
提前谢谢
答案 0 :(得分:0)
Model_Announcement_Comment
还需要扩展Model_Soft
(不 Model_Nestedset
)才能实现此功能。这在文档中说明。
删除功能将软删除相关模型,前提是cascade_delete为true。如果相关模型也不是软删除,则抛出RelationNotSoft异常。
https://fuelphp.com/docs/packages/orm/model/soft.html#/relations