在保存带有HABTM关系的文章之前自动插入标签


Automatically inserting tags before saving post with a HABTM relationship

我有一个系统设置,其中一个帖子可以有许多标签,反之亦然。这是一个HABTM关系。一切都很好,有一个输入框,我可以在添加帖子时选择相关的标签。

然而,我想实现一个像StackOverflow的系统,如果我输入一个不存在的标签,Cake首先在保存帖子之前在我的tags表中创建该标签(以及连接表中的关系)。

我发现这样做的唯一方法是在这里概述(向下滚动到"HABTM文本添加"),我手动检查标签是否存在,如果不存在,我插入它。我想知道Cake是否有一种"内置"的方式来做到这一点,或者有一种更好的方式符合Cake的"胖模型瘦控制器"惯例。

谢谢!

最好的方法是使用Model回调方法。这将允许您在afterSave()中查找标记,然后添加它,然后保存新数据。

因为您在您的模型中工作,您仍然可以使用$this->data

访问模型数据