10月CMS插件模型关系

时间:2017-12-15 09:15:00

标签: php octobercms octobercms-plugins octobercms-backend

我在秋天使用了一个消息插件。 https://github.com/gpasztor87/oc-messages-plugin它有3个模型(消息,线程和参与者),现在我想在后端为这个插件创建一个单独的部分。我使用构建器创建了一个插件,我创建了一个名为“message”的新模型,现在的问题是,当我删除一个消息条目时,我需要它来删除与此消息关联的其他表条目。数据库是相关的:线程有很多消息和许多参与者。

问题是:我应该在新的后端插件中创建所有3个单独的模型,还是应该使用原始插件中已创建的模型?另外,使用October CMS建立关系是否更好?或者我可以创建一些函数onDelete()并删除所有相关的条目?如果是这样,我怎么能做这个功能?是否有像onDelete钩子之类的东西?

谢谢。

1 个答案:

答案 0 :(得分:0)

我设法通过在我的新插件中创建所有三个模型来解决这个问题,并且只是在每个模型上添加关系:

public $hasMany = [
    'messages' => [
        'Autumn\Messages\Models\Message',
        'delete' => true
    ],
    'participants' => [
        'Autumn\Messages\Models\Participant',
        'delete' => true
    ]
];