我有一个叫做'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‘错误,因为公告注释是嵌套的模型,而不是软的。
对如何使这件事奏效有什么想法吗?
提前谢谢你
发布于 2018-05-22 17:30:58
Model_Announcement_Comment还需要扩展Model_Soft (而不是Model_Nestedset)才能工作。这是在文档中说明的。
如果cascade_delete为真,delete函数将软删除相关模型。如果相关模型也不是软删除,则抛出RelationNotSoft异常。
https://fuelphp.com/docs/packages/orm/model/soft.html#/relations
https://stackoverflow.com/questions/49874026
复制相似问题