【问题标题】:Soft delete nested children软删除嵌套子项
【发布时间】:2018-04-17 09:06:42
【问题描述】:

我有一个名为“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”错误,因为公告 cmets 是嵌套模型而不是软模型。

关于如何完成这项工作的任何想法?

提前谢谢你

【问题讨论】:

    标签: orm nested fuelphp


    【解决方案1】:

    Model_Announcement_Comment 还需要扩展 Model_Soft (not Model_Nestedset) 才能工作。这在文档中有所说明。

    如果 cascade_delete 为真,删除功能将软删除相关模型。如果相关模型也不是软删除,则抛出 RelationNotSoft 异常。

    https://fuelphp.com/docs/packages/orm/model/soft.html#/relations

    【讨论】:

      猜你喜欢
      • 2021-11-27
      • 1970-01-01
      • 2020-07-29
      • 2021-03-06
      • 1970-01-01
      • 2014-04-20
      • 1970-01-01
      • 2020-06-26
      • 1970-01-01
      相关资源
      最近更新 更多