在保存具有 HABTM 关系的帖子之前自动插入标签
Posted
技术标签:
【中文标题】在保存具有 HABTM 关系的帖子之前自动插入标签【英文标题】:Automatically inserting tags before saving post with a HABTM relationship 【发布时间】:2013-01-07 18:13:52 【问题描述】:我已经建立了一个系统,一个帖子可以有很多标签,反之亦然。这是一种 HABTM 关系。一切正常,并且有一个输入框供我在添加帖子时选择相关标签。
但是我想实现一个像 *** 这样的系统,如果我输入一个不存在的标签,Cake 首先在我的tags
表中创建该标签,然后保存帖子(以及连接中的关系表)。
我发现这样做的唯一方法是outlined here(向下滚动到“HABTM 文本添加”),我手动检查标签是否存在,如果不存在,我插入它。我想知道 Cake 是否有“内置”方式来执行此操作,或者是否有更好的方式符合 Cake 的“胖模型瘦控制器”约定。
谢谢!
【问题讨论】:
【参考方案1】:最好的方法是使用Model callback method。这将允许您说,在您的 afterSave()
中查找标签,然后添加它,然后保存新数据。
因为您正在使用您的模型,所以您仍然可以使用 $this->data
访问模型数据
【讨论】:
以上是关于在保存具有 HABTM 关系的帖子之前自动插入标签的主要内容,如果未能解决你的问题,请参考以下文章
是否可以使用 Cakephp 中的 saveAll 一次将所有相关记录插入到 HABTM 中?